关键字“点击元素”并不总是正常

问题描述 投票:2回答:4

我遇到问题,关键字“点击元素”并不总是正确的。

例如,我想转到网站上的链接。

链接的xpath是:

${xpathIMButton}                xpath=//a/span[contains(text(),"${exprIM}")]
${exprIM}                       Infrastructure Management

要点击链接鼠标悬停我使用以下内容:

Wait Until Page Contains Element            ${xpathIMButton}
Mouse Over                                  ${xpathIMButton}
Click Element                               ${xpathIMButton}    don't wait

这很简单,但我在日志上看到的是令人困惑的:

HTML按钮的屏幕截图:

因此,机器人找到链接(等待页面包含元素和鼠标悬停)是正常的,但是单击元素失败。在屏幕截图中我可以看到,按钮实际存在。那么问题是什么?为什么我会遇到那些混乱的错误?

我正在使用:RFW 2.7.5 SeleniumLibrary 2.8.1 Firefox 12

selenium-rc robotframework
4个回答
0
投票

试试这个:

Wait Until Page Contains Element            ${xpathIMButton}
Mouse Over                                  ${xpathIMButton}
Click Element                               ${xpathIMButton}    don't wait

0
投票

当我升级到Selenium 2.35,SeleniumLibrary 2.9.1和Selenium2Library 1.2时,Click Element开始失败了。我的浏览器是Firefox 22.Click Element正在按一下Save按钮。相同的代码工作了2次,第三次说它工作但确认页面从未出现过。我通过在Focus之前放置一个Click Element关键字来解决我的问题

Focus ${saveRule}

Click Element ${saveRule}

现在代码工作了三次。希望这可以帮助。


0
投票

提供答案可能有点晚,但我确实遇到了这个问题。我所做的是为页面提供一点等待时间来完全加载,然后成功找到了我的按钮。


0
投票

您的鼠标悬停似乎可能会导致问题。鼠标悬停可能导致元素隐藏在DOM中。

但这是6年前的Selenium 1图书馆。现在,我们在ROBOT Framework中使用Selenium2Library,所以如果您尝试或已经完成它,请告诉我们。

© www.soinside.com 2019 - 2024. All rights reserved.