2015-02-24 145 views
0

基於搜索選擇文本這裏是我的代碼如何使用硒的webdriver

List<WebElement> elementsList  =dr.findEements(By.xpath(".//[@id='messageBoxForm']/div/div[1]/div[1]/div/div[2]/div/div")); 
    Iterator<WebElement> itr = elementsList.iterator(); 
    while(itr.hasNext()) 
    { 
     System.out.println(itr.next().getText()); 
     WebElement element = (WebElement)itr.next(); 
     element.click();} ` 

我得到的輸出:螺紋

生物

生物先生

異常「main」java.util.NoSuchElementException at java.util.ArrayList $ Itr.next(Unknown Source)

+0

不要叫接下來的2倍。這是好的:while(itr.hasNext())但是從這裏刪除next():System.out.println(itr.next()。getText()); – 2015-02-24 08:01:07

+0

我已經刪除並執行線程「主」java.lang.ClassCastException異常:java.util.ArrayList $ Itr不能轉換爲org.openqa.selenium.WebElement – meena 2015-02-24 08:10:44

+0

是因爲你要存儲字符串數組數據到web元素。 – 2015-02-24 08:20:05

回答

0

與上文提到的一樣,您可能需要將itr.next()引用到Webelement。代碼如下。

while(itr.hasNext()){ 
    WebElement element = (WebElement)itr.next(); 
    System.out.println(element.getText()); 
    element.click(); 
} 
+0

沒有得到任何異常,但無法點擊返回的值 – meena 2015-02-24 09:36:07

+0

謝謝幫助 – meena 2015-02-25 05:06:50

+0

如果您可以共享html的輸出或源代碼部分,我們可以幫助您更好地 – Ramki 2015-02-25 06:19:42

0

您還可以執行相同的任務使用增強的for循環爲:

foreach(WebElement element : elementsList){ 
    System.out.println(element.getText()); 
    element.click(); 
}