2013-04-21 45 views

回答

4

你可以做所有使用XPath(找到使用By.xpath("xpath expression")):

  • 打開Gmail頁面
  • 登錄照常
  • 點擊撰寫按鈕(其XPath表達式:"//div[text()='COMPOSE']"
  • (將彈出電子郵件對話框)
  • 鍵入(發送鍵)「To」文本區域中的地址:"//textarea[@name='to']"
  • 類型(發送鍵)的主題,以「主題」輸入:"//input[@name='subjectbox']"
  • 類型(發送密鑰)的電子郵件內容可編輯的div:"//div[@class='gmail_default']"(或"//div[@aria-label='Message Body']"),因爲它似乎他們最近改變了他們的HTML)
  • 點擊發送:"//div[text()='Send']"
+0

感謝您的acdcjunior,但內容框由iframe提供,並且類已更改爲「class = class = editable LW-avf」。無論如何,這與我發現自己的相似。實際上,我在爲TO字段定位元素時遇到了一些問題。但現在解決了。 – MCKiran 2013-04-22 09:26:57

+0

@MCKiran好吧,太棒了!但是你知道如何通過XPath獲取元素,對吧?這將使你的生活更容易與webdriver。 – acdcjunior 2013-04-22 12:16:25

+0

很好的答案!,如何添加附件? – 2017-09-08 20:35:33

0

我發現了以下解決方案:

< TR>

<td>setTimeout</td> 
<td>3000</td> 
<td></td> 

</tr>

<!--open命令通常會等待30秒,所以我們現在要求它等待只有3秒 - >

< TR>

<td>open</td> 
<td>/mail/u/0/?shva=1#inbox?compose=new</td> 
<td></td> 

</TR>

< TR>

<td>type</td> 
<td>//table/tbody/tr[1]/td[2]/div/div/textarea</td> 
<td>[email protected]</td> 

</TR>

< TR>

<td>type</td> 
<td>name=subjectbox</td> 
<td>Test</td> 

</TR>

< TR>

<td>type</td> 
<td>class=editable LW-avf</td> 
<td>Hi All<br/>Hope the test is successful. <br/><br/><i> Lovingly, </i></br><b>McKiran.</b></td> 

</TR>

< TR>

<td>click</td> 
<td>class=T-I J-J5-Ji aoO T-I-atl L3</td> 
<td></td> 

</TR>

0

公共靜態無效的主要(字串[] args)拋出InterruptedException的{ System.setProperty ( 「webdriver.chrome.driver」, 「d:\硒\ SeleniumWork \ seleniumDrivers \ chromedriver.exe」); WebDriver driver = new ChromeDriver(); (); window()。maximize(); driver.get(「https://accounts.google.com/ServiceLogin?service=mail&continue=https://mail.google.com/mail/#identifier」); (driver.findElement(By.xpath(「.// [@ id ='Email']」))。isEnabled()) { driver.findElement(By.xpath(「.// [ ID = '電子郵件'] youremailid「) 」))的SendKeys(「; driver.findElement(By.xpath(「.//*[@ id ='next']」))。click(); } Thread.sleep(5000); WebElement menu = driver.findElement(By.xpath(「.// input [@ type ='password']」)); 如果(menu.isEnabled()){

 System.out.println("Hello world"); 
     menu.sendKeys("emailidpassword"); 
     driver.findElement(By.xpath(".//*[@id='signIn']")).click(); 
    } 
    Thread.sleep(5000); 
    driver.findElement(By.xpath(".//div[contains(text(),'COMPOSE')]")).click(); 
    Thread.sleep(5000); 
    driver.findElement(By.xpath("//textarea[@name='to']")).sendKeys("@gmail.com"); 
driver.findElement(By.xpath("//input[@name='subjectbox']")).sendKeys("Sample"); 

driver.findElement(By.xpath( 「// DIV [@詠歎調標籤= '消息正文']」))。的SendKeys(「HI此是簡單的信息「); driver.findElement(By.xpath(「// div [text()='Send']」))。click();

}

+0

請格式化您的代碼並添加一個解釋,以說明您提供的代碼的工作原理。謝謝! – Alex 2017-01-23 14:34:55

相關問題