如果页面分辨率更改,单击事件不起作用,机器人框架



我正在尝试学习Robotframework。我的页面有css zoom:85%。现在我的点击元素不起作用。它说我的可点击元素在另一个元素后面。

如果我删除缩放:85%,那么它可以工作。

请帮忙。我正在使用SeleniumLibrary.我正在通过 xpath 找到我的可点击按钮。

遗憾的是,

这是Chrome的一个已知问题 - stll-open错误。IE 还明确指出缩放必须为 100% 才能使交互正常工作。

总之,当要完成单击时,浏览器的驱动程序(控制它的代码(计算元素的尺寸和位置,并在其中心执行单击。当缩放为 != 100% 时,所有这些数据点都是不同的,并且它会计算错误的点击坐标。

您可以提供动态 xpath,而不是使用静态 xpath。检查元素时,您会发现元素必须指定 id 或值。如果机器人只需要搜索元素的id,则分辨率将不是一个因素。例如:

<a id="nav-tags" href="/tags" class=" js-gps-track nav-links--link" data-gps-track="top_nav.click({is_current:false, location:2, destination:2})">
Tags</a>

这里的id是:id="nav-tags"因此,您可以像以下方式定义您的 xpath:xpath=//*[@id="nav-tags"]

希望有帮助。

最新更新