我在 Katalon Studio 中有一个按钮单击命令,我在其中使用 scrollIntoView 将按钮显示在视图中,然后单击该按钮。
((JavascriptExecutor) functiondriver).executeScript("arguments[0].scrollIntoView({block: \"nearest\"});", buttonelement);
WebUI.delay(4)
WebUI.click(findTestObject('object/path'))
在执行时使用 Chrome,代码在 Windows 计算机上运行良好,但在 Mac 计算机上,大约 40% 的时间出现以下错误:
Unable to click on object '/object/path/' (Root cause: org.openqa.selenium.WebDriverException: unknown error: Element <button class="classname">...</button> is not clickable at point (750, 548). Other element would receive the click: <html lang="en">...</html>
我在网上寻找解决方案,并尝试通过添加您在上面看到的延迟来解决这个问题,但这没有用。此外,当自动化运行时查看浏览器时,我可以直观地看到应该单击的按钮 - 所以它不像按钮没有加载。是否有另一种方法可以编写此代码以使其更一致地工作?
更新:我已经尝试过这个答案和相关问题中建议的更智能的等待功能,但都没有奏效。我想强调一下,这个问题只发生在 Mac 机器上,不会出现在 Windows 上;这就是使这个问题与其他类似问题不同的原因。
我确实有一个发现。通过 Katalon Studio 运行脚本时,Chrome 默认不会最大化窗口。但是,我做了一个实验,我强制浏览器最大化并解决了这个问题。因此,当浏览器不是全屏时,Katalon Studio 似乎无法在 Mac 上设置 x,y 坐标。这是我在 Mac 机器上使用 WebUI 的安装或已知行为的某种校准问题吗?