现在我正在使用selenium(java)进行浏览器测试。
但是,xpath存在一些问题。 我尝试了下面的代码。
webDriver.findElement(By.xpath("//button[@onclick='addUserWf();return false;']")).click();
带有网络元素
<button class="btn-etc btn-object-add" onclick="addUserWf();return false;">...</button>
也许您可以参考,春季靴印刷:
org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//button[@onclick='addUserWf();return false;']"}
我可以看到上面的元素(这意味着元素显示并可见),所以我听不懂。
添加:我尝试过,但是结果是相同的。
webDriver.findElement(By.xpath("//button[@class='btn-etc btn-object-add']")).click();
有人知道吗?
答案 0 :(得分:1)
在xpath下尝试:
webDriver.findElement(By.xpath("//button[@onclick=\"addUserWf();return false;\"]")).click();
或
webDriver.findElement(By.xpath("//button[starts-with(@onclick='addUserWf')]")).click();
在单击任何按钮之前使用webdriver等待是一种很好的做法。
new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.xpath(XPATH)))