我使用Robotframework來自動化測試,它使用Selenium2庫,並提供了擴展許多庫(Java,Python,AngularJS等)的機會。如何使用Robot Framework獲取網頁元素的所有xpath?
這是我的問題。
有沒有辦法讓一個頁面上顯示的符合特定條件的元素的所有xpath?
由於事先
我使用Robotframework來自動化測試,它使用Selenium2庫,並提供了擴展許多庫(Java,Python,AngularJS等)的機會。如何使用Robot Framework獲取網頁元素的所有xpath?
這是我的問題。
有沒有辦法讓一個頁面上顯示的符合特定條件的元素的所有xpath?
由於事先
我會回答問題的2種方式我的理解 - 至少一個應該在尋找;)
。假定的XPath是//div
- 例如「所有div
元素」
1)要計算匹配元素究竟有多少:
${count}= Get Matching Xpath Count //div # note there's no xpath= prefix
正如在評論中指出的,Get Matching Xpath Count
返回值是一個String類型的,所以如果你要使用它的一些數值的比較,你最好將它轉換成int:
${count}= Convert To Integer ${count}
2)爲了讓每一個元素匹配的XPath,一個d做點什麼吧
${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}
Todor非常感謝您的幫助! 還有一件事,我現在得到所有的元素文本,我需要檢查每個文本是否存在於一個文件中,我認爲另一個FOR循環應該做到這一點,但它是如何完成的? 我必須檢查天氣中所有顯示在網頁上的文字是否存在於特定文件中。 現在我得到了文本,並且需要檢查它們是否存在於提供的文件中。 預先感謝 –
將文件內容加載到字符串中;將所有html文本存儲在列表中。在列表中循環,運行'應該包含$ {file content} $ {list list member}'。 – Todor
非常感謝,幫助! –
你的用例是什麼? – Rao
我可以提出將你的問題改爲「是否有一種方法可以獲得頁面上顯示的所有html元素,匹配某個xpath?」。目前的措詞很不明確,這就是它被低估的原因。 – Todor