[英]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.