繁体   English   中英

如何用Selenium Webdriver和Java点击

[英]How to click with Selenium Webdriver and Java

我正在做自动化任务。

为了完成我的任务,我想在同一个弹出窗口中执行 3 次自动点击。 最后一个失败了很多次。 有时它无法点击或在按钮外点击。

我也尝试过 thread.sleep,但问题仍然存在。

我的代码:

WebElement boton = driver.findElement(By.xpath(PATH_BOTON));
WebDriverWait wait3 = new WebDriverWait(driver, 2);
wait3.until(ExpectedConditions.elementToBeClickable(boton)).click();

CSS 选择器或 Javascript 执行器是更好的选择?

我在按钮上使用 Selenium 进行测试时遇到的大多数问题都来自按钮对象在 html 页面上的开始位置。 span 元素本身有时​​会在按钮之前开始,因此您最终会单击空白的 span 空间而不是按钮,如果是这种情况,您可能想要使用 DRIVER.MoveByOffset(xInt, yInt).Perform() 方法来移动您的指针到位。 至于您的选择器,最好尽可能使用 By.id("uniqueID"),因为只能提供一个唯一的 id,这样您就知道这就是您为测试抓取的对象。

要在元素上调用click()三次,您需要为elementToBeClickable()引入WebDriverWait ,您可以使用以下定位器策略

new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("PATH_BOTON"))).click();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("PATH_BOTON"))).click();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("PATH_BOTON"))).click();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM