我试图在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;关键字也不起作用。
请让我知道如何解决这个问题。
答案 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;