在Gmail中,Selenium有时会在不同区域返回WebDriverException

时间:2018-07-17 20:57:39

标签: java selenium selenium-chromedriver

我正在编写一个自动化任务,将从另一个网站的Gmail获取身份验证代码。

硒有两件事。首先登录该网站,并提示输入验证码,然后打开一个新标签,然后转到Gmail以获取该验证码。

出于某些原因,从Gmail获取代码的不同部分(例如,登录,打开邮件,getText(),注销),有时会返回:

WARNING: WebDriverException thrown by findElement(By.xpath: EnterXpathHere])

问题是它有时只会引发错误。它有大约75%的机会返回异常。对于那25%的任务,它将完成其余任务

我尝试编辑xpath并重写过程以获取该代码,但是无论我尝试使用哪种方法,该异常仍然会返回。

请告诉我是否需要提供其他信息。

1 个答案:

答案 0 :(得分:1)

最有可能引入WebDriverWait将解决您的问题。用法如下:

new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.xpath("your xPath"))).click();

这将至少等待10秒钟,直到元素可单击,然后才单击它。

注意: ,您必须进行一些导入:

import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

更多信息可以在文档here中找到。