【发布时间】:2021-02-12 10:06:38
【问题描述】:
有一个让我发疯的 Selenium(或更可能是网页)问题。只有当我物理移动鼠标时,页面才会继续执行。我尝试了从尝试模拟悬停、点击、键盘按下等到 Thread.sleeps 的所有方法。没有什么能解决它,但请放心,鼠标的单次移动就足以让它再次运行(这让我认为这是一个网页问题)。如果我不移动鼠标,或者以某种方式与页面进行物理交互,它将无限空闲。
通过故障排除,似乎与该页面的每一次交互(无论是显式等待、元素单击还是 driver.getAttribute)都足以让它空闲一次,之后所有交互都按预期执行。
网页是有角度的,我通常与之交互的元素是位于 mat-card 元素内的输入和按钮元素。 当页面第一次加载时,会运行一个查询来确定元素的值/状态。因此,如果数据库中的值是某种类型,那将触发一些按钮被启用,并且输入元素具有不同的值等。我相信页面加载的方式可能会导致这个问题。 只有此网页会导致此问题,网站的其余部分按预期运行。
我有一个只有 5 秒的隐式等待超时,所以如果它没有触发它并停止执行,这不是元素可见性问题。
我只在网上看到过一个这样的例子,这里有个使用量角器的人:selenium-webdriver idles until mouse is moved
如果有人知道是什么原因超出了我的尝试范围,我将不胜感激,即使这是确认我无能为力,只能与开发人员讨论这个问题,看看是否它在他们身边等等。
【问题讨论】:
-
该页面中有 iframe 吗?
-
不,不幸的是似乎没有任何 iframe
标签: java angularjs selenium selenium-chromedriver testng