2

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

例如,我想访问网站上的链接。

链接的 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 源的屏幕截图:

按钮的html代码

因此,机器人发现链接(等待页面包含元素和鼠标悬停)正常,但点击元素失败。在我可以看到的屏幕截图中,该按钮确实存在。那么问题是什么?为什么我得到那些令人困惑的错误?

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

4

4 回答 4

0

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

Focus ${saveRule}

Click Element ${saveRule}

现在代码工作了它被调用的 3 次。希望这可以帮助。

于 2013-08-23T19:34:19.213 回答
0

尝试这个:

Wait Until Page Contains Element            ${xpathIMButton}
Mouse Over                                  ${xpathIMButton}
Click Element                               ${xpathIMButton}    don't wait
于 2012-12-19T11:25:58.373 回答
0

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

于 2015-08-23T03:44:30.807 回答
0

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

但这是 6 年前的 Selenium 1 Library。现在,我们在 ROBOT 框架中使用 Selenium2Library,所以如果您尝试过或已经做过,请告诉我们。

于 2019-02-12T15:33:47.870 回答