Selenium 如果页面分辨率已更改,请单击“事件不工作”,Robot Framework

Selenium 如果页面分辨率已更改,请单击“事件不工作”,Robot Framework,selenium,robotframework,Selenium,Robotframework,我正在努力学习机器人框架。我的页面有css缩放:85%。现在我的Click元素不工作了。它说我的可点击元素在另一个元素后面 如果我删除缩放:85%,那么它可以工作 请帮忙。我正在使用SeleniumLibrary。我通过xpath找到了我的可点击按钮。很遗憾,这是Chrome的一个已知问题。IE还明确指出,缩放必须为100%,交互才能正常工作 总之,当要进行单击时,浏览器的驱动程序(控制它的代码)计算图元的尺寸和位置,并在其中心执行单击。当变焦时!=100%所有这些数据点都是不同的,它会计算错误

我正在努力学习机器人框架。我的页面有css缩放:85%。现在我的Click元素不工作了。它说我的可点击元素在另一个元素后面

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


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

很遗憾,这是Chrome的一个已知问题。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=“导航标签” 因此,您可以像这样定义xpath: xpath=/*[@id=“nav tags”]


希望这能有所帮助。

事实并非如此——xpath、css、id或名称,这些都是实现相同目标的不同方法——引用元素。那么得到元素的xpath表达式到底是什么呢?同样,根据这个问题,它是不相关的。