我遇到问题,关键字“点击元素”并不总是正确的。
例如,我想转到网站上的链接。
链接的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
试试这个:
Wait Until Page Contains Element ${xpathIMButton}
Mouse Over ${xpathIMButton}
Click Element ${xpathIMButton} don't wait
当我升级到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}
现在代码工作了三次。希望这可以帮助。
提供答案可能有点晚,但我确实遇到了这个问题。我所做的是为页面提供一点等待时间来完全加载,然后成功找到了我的按钮。
您的鼠标悬停似乎可能会导致问题。鼠标悬停可能导致元素隐藏在DOM中。
但这是6年前的Selenium 1图书馆。现在,我们在ROBOT Framework中使用Selenium2Library,所以如果您尝试或已经完成它,请告诉我们。