java - 使用Java的selenium Webdriver中哪种等待更优选? (隐式或显式)

标签 java selenium-webdriver wait

我知道它们之间的差异以及它们在执行过程中的实际行为。我的问题是,在使用 Selenium 的自动化中,哪一个更受青睐?我正在使用 Selenium Webdriver 与 Java 并在 TestNG 框架中自动化我的测试用例。对于某些浏览器,测试失败,因为 Webelement 不可点击,所以我怀疑我是否重新实现了此类 Web 元素的等待时间。

请建议我一些替代方案。

最佳答案

要回答要使用哪个等待将非常具体,因为答案可能会根据您关注的 Web 元素、平台等而变化。但我可以建议您在您的情况下使用显式等待,因为您指定您正在使用多个浏览器,并且 Web 元素加载时间因浏览器而异。所以最好的办法是使用 wait 和 Until。 您可以将 WebDriver 等待时间设置为迄今为止观察到的最长时间,因为即使 Web 元素变得可点击/可见,它也不会不必要地等待剩余时间。

下面是我在项目中实现的示例。

WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(".//*[@id='login']"))).click();

关于java - 使用Java的selenium Webdriver中哪种等待更优选? (隐式或显式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27398295/

相关文章:

Java Deque 实现无法转换 Item

java - 选择按钮的 XPath?

java - 我们可以在构造函数上使用 wait() 方法吗? java

java - 让等待线程跳过剩余的等待/继续

java - 无法读取可运行的 Jar 文件

java - 出现异常时到底会发生什么

java - 二维数组深度优先搜索

java - 使用 Selenium 从 google 注册页面访问下拉列表

Python Selenium 在 headless 状态下发生错误?

c - 你如何使用 wait() 杀死僵尸进程