簡體   English   中英

Selenium Webdriver和findelement

[英]Selenium Webdriver & findelement

我想找到一個元素,xpath像這樣

"//div[@id='contentPane']/div/div[2]/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div[3]/div/div" ,然后執行“ clickAt”

如果我用

driver.findElement(By.xpath("//div[@id='contentPane']/div/div[2]/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div[3]/div/div"); Actions clicker = new Actions(driver); clicker.moveToElement(baseElement).moveByOffset(0, 0).click().perform();

我收到異常“ Element not found ”。 我做錯了什么?

如此長的xpath的使用將導致測試用例失敗,可以動態添加或刪除新的div。id的某些部分應保持不變。

例如,在id = "someString_1234" ,如果'someString'保持不變而其余部分保持不變,則可以使用id * ='someString'之類的符號來查找它。

您可以參考此討論以獲取更多信息。

代替

driver.findElement(By.xpath("//div[@id='contentPane']/div/div[2]/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div[3]/div/div");

試試這個代碼:

driver.findElement(By.id("contentPane");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM