2017-02-22 4 views
0

ROBOTフレームワークでセレンlibaryを使用する際に問題があります。他のX-Pathの単語を含むX-Pathを選択してください

私は2つの要素を持つドロップダウンメニューを持っています.1つは「リソース」で、2つは「リソース管理」です。 私はこのキーワードを使用します:

Click element | // /DIVの[(含まれています(@class、 "コンボ・リスト")または(@class、 "ドロップダウン" が含まれて))] /子孫:: [。= "リソース"]

しかし、どういうわけかリソースの代わりにリソース管理をクリックするだけです。 サポートしてください。 T_T

+0

シェア正確 'HTML'コード – Andersson

答えて

2

ドロップダウンリストを選択するときに要素Clickを入力しないでください。キーワードSelect From List By Labelを使用します。以下は、あなたの場合の例である:

Select From List By Label Xpath=ChangeMe Resource 

これは、あなたが見つけ、ドロップダウンメニュー内のエントリResourceを選択します - お好みのロケータを使用して。

Selenium2Library Documentationには多くの異なるSelect From Listキーワードがあります。

EDIT:

は別の問題に着目:あなたは、XPathの第二の発生を選択したい場合 - あなただけの、括弧()でそれをカプセル化Xpath=接頭辞を追加し、最後には、XPathの出現数を追加します。たとえば:

Xpath=(//span[contains(string(), 'Submit')])[2] 

これは言葉Submitが含まれている第2スパンを見つけました。私の場合は、2番目の送信ボタンを見つけます。現在のページに5つあります(私の場合)。 This should help youはXパスを理解しています。私が学んだとき、それは私を助けました!

すべての問題、私に知らせて:)

0

私は最近、ロボットフレームワークを使用してドロップダウンリストをどのように扱うかについては、同様の問題に直面しました。

この記事を参照してください:キーワード以下 使用:Select From List selects item but does not commit change

Akash W.この回答を共有しました。同じのための別の引数として

パスロケータとして第一引数と値

Select from list by label and validate 
    [Arguments] ${locator}  ${select value} 
    Focus ${locator} 
    # Select from list by label 
    Select From List By Label ${locator} ${select value} 
    # Get selected value and validate it against passed value as argument 
    ${value} = Get Selected List Label ${locator} 
    Should be equal ${select value} ${value} 
関連する問題