首页 > 解决方案 > 在 Selenium-ChomeDriver/Chome 正确单击元素之前需要等待(ChromeDriver v 77 & 78,Chome v 78)

问题描述

如标题所述,自 chrome 更新到 v78 后出现以下问题。在 chrome v78 之前,所有测试都运行良好

这种行为是高度不确定的,所以请多多包涵。这意味着有时它只是突然起作用,没有任何变化。测试中的大多数点击都有效。只是有些反复失败(大部分时间)。

我们正在使用 selenium 和 chrome 78 的最新驱动程序。问题首先出现在运行 chrome 78 的驱动程序版本 77 上。规范流测试和适配器代码都没有发生任何变化,但是在 Chrome 更新之后,基本上所有测试都失败了。

在每次点击之前执行 Thread.Wait(1000) 似乎是避免问题的最可靠方法,并按要求点击元素。

当我等待时,驱动程序会运行“单击”,包括下面列出的步骤,而不会实际单击或抛出任何错误

我还尝试了其他几种鼠标点击变体,包括评论中的一种。

由于该过程只是完成了所有这一切,而实际上并没有引发任何类型的错误或警告,因此我无法检查点击是否实际发生(除了检查当前 URL,这将是在测试中维护的噩梦) .

所以网站没有更新并保留在源页面上,测试将失败,因为下一个测试没有在预期的页面上运行。

现在的问题:

有什么我可以查询或等待以查看驱动程序或 chrome 是否可以实际单击该元素(真的)或验证它是否实际被单击?

原始问题报告: https ://github.com/jsakamoto/nupkg-selenium-webdriver-chromedriver/issues/66

标签: seleniumgoogle-chromeselenium-webdriverselenium-chromedriverwebdriverwait

解决方案


推荐阅读