2016-06-23 87 views
0

所以我有這個運行測試,需要在最後發送電子郵件。 此電子郵件發送使用Gmail和所有我想在某些情況下是在Red makred特定文本。如何插入彩色文字

string body = "This is my red text" 

在這種情況下,這是我使用selenium發送的電子郵件正文。 是否可以添加屬性或這個stringGmail承認在Red,而不是在電子郵件內點擊此選項?

回答

-3

您無法使用硒更改CSS。最簡單的選擇是點擊電子郵件內的選項。

+0

我儘量避免它,但如果這是唯一的選擇.. –

+0

當然,你 能夠。你爲什麼說你不能?你可以使用Selenium在頁面上執行JS,並且你可以做任何事情。 – JeffC

3

其實儘管別人說這是絕對有可能的。這只是一個麻煩,你應該自己決定是否要這樣做。

您可以通過執行Javascript來實現它。步驟如下:

  1. 查找消息元素
  2. 創建這個元素中新font
  3. 添加color到創建font
  4. 的文本添加到font
public void addText(String text, String hexColor){ 
    WebElement element = // find the gmail textbox element here; 
    JavascriptExecutor executor = (JavascriptExecutor) this.driver; 
    executor.executeScript(
     "font = arguments[0].appendChild(document.createElement('font'));" + 
     "font.setAttribute('color', arguments[1]);" + 
     "font.textContent = arguments[2];" 
    , element, hexColor, text) 
} 
+1

我會稍微改變函數,並將其稱爲addText(字符串文本,字符串hexColor),並傳入要着色的字符串並傳入表示十六進制顏色的字符串。現在,您可以爲所需的任何顏色着色文本。 – JeffC

+0

@JeffC是的,我正在考慮這個問題,但想保持簡單的答案。猜猜我會改變它。 – RemcoW

+0

不要把我的評論當作消極的......你絕對回答了這個問題。我只是看着它,看到了一個讓它更加靈活的機會。 – JeffC