由于ui-widget-overlay,无法使用Selenium2Library定位元素

时间:2017-03-08 16:16:40

标签: robotframework selenium2library

我试图在Robotframework中使用Selenium2Library点击弹出窗口上的按钮/元素:

Click Element   name=OK

但我在Robotframework中遇到以下错误:

ValueError: Element locator 'name=OK' did not match any elements.

我相信这种情况正在发生,因为ui-widget-overlay并没有消失。以下是来自html代码的片段,其中包含Ok按钮和ui-widget-overlay:

<button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false"><span class="ui-button-text">OK</span></button>

<div class="ui-widget-overlay" style="width: 1793px; height: 620px; z-index: 1005;"></div>

我知道我可以使用xpath成功单击元素,但xpath在这种情况下是动态的,我想使用固定值。此外,&#34;点击按钮&#34;关键字也不起作用。

请让我知道如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

您是否尝试过查看按钮的class属性?对我来说,这似乎可以提供更稳定的xpath或css参考。例如//button[contains(@class, 'ui-button')]

答案 1 :(得分:0)

您错误地将按钮文本(确定)误解为其name属性。属性是XML / HTML标记的一部分,例如应该是这样的:

<button class="some values" name"OK">

,它不在样本中。

当您按照它的可见文本查找特定按钮时,此xpath定位器将匹配它:

xpath=//button[span[@class="ui-button-text" and text()="OK"]]

该表达式显示&#34;匹配button元素作为直接子元素span与该类和文本&#34;