2017-08-08 61 views
0

我正在尝试点击特定文本的网页中的特定链接。 但是,如果链接不存在,则需要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

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

隐等待

隐含的等待是为了告诉webdriver的努力,如果他们没有立即找到一种或多种元素时,轮询DOM一定量的时间。默认设置为0.一旦设置,就会为WebDriver对象实例的生命周期设置隐式等待。

所以,如果你想要一个早期失效

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

代码之前上面的调用,将确保2秒

+0

谢谢塔伦它的工作:) – rohan

+0

大。你能接受它作为答案吗? –

0

使用隐式的等待,以减少内部的故障情况,您应该降低隐式的等待标签等待时间。

隐等待被用来提供一个等待时间(比如30秒)在整个测试脚本或程序 每个连续的测试步骤之间 。下一步只有在执行上一步之后的30秒(或任何时间 已过)时才执行。

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