Selenium webdriver 无法使用selenium webdriver找到元素

Selenium webdriver 无法使用selenium webdriver找到元素,selenium-webdriver,Selenium Webdriver,我正在使用SeleniumWebDriver执行1000个测试。 对于每个测试用例,我需要单击网页上的“ID”元素 我使用了WebElement x=driver.findElement(By.xpath(“//*[@id='TEST'])。单击();event 但不幸的是,对于两个测试场景(1000个场景中的2个或3个),它抛出了一个错误,表示“找不到元素”。对于其余的测试用例,它将照常执行 我尝试使用Try&Catch方法并刷新页面,但功能正常,但性能太慢。您是否尝试过使用ExpectedC

我正在使用SeleniumWebDriver执行1000个测试。 对于每个测试用例,我需要单击网页上的“ID”元素

我使用了
WebElement x=driver.findElement(By.xpath(“//*[@id='TEST'])。单击();
event

但不幸的是,对于两个测试场景(1000个场景中的2个或3个),它抛出了一个错误,表示“找不到元素”。对于其余的测试用例,它将照常执行


我尝试使用Try&Catch方法并刷新页面,但功能正常,但性能太慢。

您是否尝试过使用ExpectedConditions类() 在单击元素之前,只需添加一些等待,就足够了。

您所说的“Try&Catch方法和Refresh方法”是什么意思。 Selenium模仿web浏览器本身,因此它有时不稳定。 1000次测试需要花费大量时间,因此请确保您的计算机不会进入睡眠状态,并且在测试完成之前不要干扰它的测试过程。
如果最小化浏览器,某些测试将失败。

我建议可能增加隐式等待时间

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

您是否在同一场景中遇到错误?由于Selenium将启动浏览器,因此性能会很慢,如果您执行了1000次,这一点很明显。这有什么必要?如果只是从页面中刮取一些数据,Selenium是最差的工具。我添加了刷新和等待命令,它可以按预期工作。查找o但是哪个页面卡住了,在那里添加一些等待函数。这就是我以前所做的。它卡住的主要原因是当你检查页面时,一些页面内容没有准备好。那么什么是最好的解决方案。我尝试添加等待命令,但运气不好。我有一个解决方案。解决方案是:driver.manage().timeout().pageLoadTimeout(20,时间单位。秒);感谢大家。