如何减少硒中的标签等待时间

时间:2017-08-08 09:36:41

标签: selenium selenium-webdriver selenium-chromedriver

我正在尝试使用特定文字点击网页中的特定链接。 但是,如果链接不存在,则在打印输出元素之前需要1分钟。如何缩短这段时间以加快执行速度?

try{

if (!driver.findElements(By.xpath("//a[text()='specifictext']/@href")).isEmpty())
{
By loadMoreComment=By.linkText("specifictext");
driver.findElement(loadMoreComment).click();
}
}
catch (NoSuchElementException e)
{
logger.warn("Specific text not found");
}

2 个答案:

答案 0 :(得分:2)

这只会因为隐式等待而发生。看下面的定义

  

隐式等待

     

隐式等待是告诉WebDriver在尝试查找一个或多个元素(如果它们不是立即可用)时轮询DOM一段时间。默认设置为0.设置后,将为WebDriver对象实例的生命周期设置隐式等待。

所以如果你想要早期失败,你应该降低隐含等待

driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);

在您的代码之前进行上述调用,将确保在2秒内发生故障

答案 1 :(得分:0)

使用隐式等待来减少标记等待时间。

  

隐式等待用于提供等待时间(比如说30秒)   在整个测试脚本或每个连续测试步骤之间   程序。下一步仅在30秒(或任何时间)执行   执行上一步后,已经过了。

driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);