2017-04-19 25 views
-2

私はRobotframeworkを使ってテストを自動化しています。これはSelenium2ライブラリを使用し、多くのライブラリ(Java、Python、AngularJSなど)を拡張する機会を与えます。Robot Frameworkを使用してWebページのすべての要素のxpathを取得する方法は?

ここに私の質問です。

特定の条件に一致するページに表示される要素のxpathをすべて取得する方法はありますか?アドバンス、

+0

あなたのユースケースは何ですか? – Rao

+0

あなたの質問に「ページ上に表示される、特定のxpathに一致するすべてのhtml要素を取得する方法はありますか?」と言い換えることをお勧めします。現在の言葉では、それはかなり曖昧であり、それはそれが下落される理由です。 – Todor

答えて

1

おかげで私は質問、私はそれを理解する2つの方法をお答えします - 少なくとも一つを探されるべきであるXPathを仮定)

//divある - 例えば「すべてのdiv要素」

1)要素がどのように多くのマッチングカウントするには、次のようにコメントで指摘

${count}= Get Matching Xpath Count //div # note there's no xpath= prefix 

Get Matching Xpath Countの戻り値は文字列型であるので、あなたならばいくつかの数値の比較のためにそれを使用したい、あなたはより良いint型にキャストしたい:

${count}= Convert To Integer ${count} 

2)はそのXPathを一致する各要素を取得するには、何かをするdo

${matched elements}= Get Webelements  xpath=//div 
:FOR ${element} IN @{matched elements} 
\ ${text}= Get Text ${element}  # will get the text of each matched node 
\ Log ${text} 
+0

Todorは助けてくれてありがとう! ただもう一つ、私はすべての要素のテキストを取得する、私は各テキストがファイルに存在するかどうかを確認する必要があります、私は別のFORループがトリックを行う必要がありますが、どのように行われると思いますか? Webページに表示されているすべてのテキストが特定のファイルに存在するかどうかを確認する必要があります。 私はテキストを入手し、提供されたファイルにテキストが存在するかどうかを確認する必要があります。 ありがとうございました –

+0

ファイルの内容を文字列で読み込みます。すべてのHTMLテキストをリストに格納します。リストをループし、$ {file content} $ {リストメンバー} $を含むべきです。 – Todor

+1

ありがとう、たくさんの男、それは助け! –

関連する問題