2015-08-28 65 views
0

HTML頁我的工作包含以下元素:硒的webdriver:無法訪問包含的onclick元素和文本屬性

<a style="text-decoration:none; font-weight:normal;" href="javascript:void(0);" onclick="CreateNewServiceItemApproved();"> 
<img src="icons/ui/addnew.png"> 
<span style="color:#000">Add New Incident</span> 
</a> 

我需要點擊就可以了,但接收

org.openqa.selenium.NoSuchElementException: Unable to locate element 

錯誤。
試着用下面的命令來找到它:

driver.findElement(By.xpath("a[@onclick='CreateNewServiceItemApproved()']")).click(); 
driver.findElement(By.xpath("//span[contains(text(),'Add New Incident')]")); 

爲什麼我不能找到這個元素?
這裏有什麼問題?

+1

嘗試添加一個id由ID的元素和發現。 ifame中的元素是什麼? –

+0

如何添加一個id到元素?我正在爲此頁面編寫自動化測試代碼,而不是創建頁面本身。是的,它在一些iframe中。整個HTML頁面包含多個iframe – Eliyahu

回答

2

由於該元素是iframe裏面,你需要switch到IFRAME第一:

driver.switchTo().frame(driver.findElement(By.id("iframeId"))); 

,然後找到<a>元素。

Iframe可以通過id,xpath或通常的方法找到。

當處理東德,你可能需要切換到默認的內容:

driver.switchTo().defaultContent(); 
+0

您拯救了我的生命;)謝謝! – Eliyahu

+0

很高興知道! ;) –