2017-03-08 6 views
0

の要素を見つけることができません:は、私はRobotframeworkでSelenium2Libraryを使用してポップアップウィンドウ上のボタン/要素をクリックしようとしています原因UIウィジェットオーバーレイにSelenium2Libraryを使用して

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

私は消えないui-widget-overlayが原因で起こっていると信じています。以下は、[OK]ボタンとUIウィジェットオーバーレイを含む、HTMLコードからの抜粋です:

<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はこの場合、動的であり、私がしたいです固定値を使用します。また、「クリックボタン」のキーワードも機能しませんでした。

どうすればいいか教えてください。

+0

要素の子がクリックされていない場合、例外は異なります。「座標で別の要素がクリックされると、要素をクリックできません」という行に何かが表示されます。これは文字通り、SeleniumがDOM内のそのような要素に一致することができないことを意味します。 – Todor

答えて

0

ボタンのクラス属性を調べてみましたか?私にとっては、より安定したxpathまたはcss参照を提供するように思えます。たとえば、//button[contains(@class, 'ui-button')]

0

ボタンのテキストを間違って解釈しました(name)。属性はXML/HTMLタグの一部です(例:

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

これはサンプルに含まれていないはずです。

それは目に見えるテキストだことにより、あなたが特定のボタンを探しているように、このXPathのロケータがそれにマッチします:

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

表現は、「そのクラスで直接の子spanとして持つbutton要素にマッチ読み込み、テキスト "

関連する問題