我使用Robotframework來自動化測試,它使用Selenium2庫並提供了擴展許多庫(Java,Python,AngularJS等)的機會。如何使用Robot Framework獲取網頁上顯示的所有文本?
這是我的問題。
有沒有辦法讓所有文本顯示在頁面上?
我可以通過元素定位器獲取任何特定的文本,但是目前我需要編寫一個函數來獲取頁面上顯示的所有文本。
有沒有人知道一種方式?或者提示如何讓事情繼續下去?
我使用Robotframework來自動化測試,它使用Selenium2庫並提供了擴展許多庫(Java,Python,AngularJS等)的機會。如何使用Robot Framework獲取網頁上顯示的所有文本?
這是我的問題。
有沒有辦法讓所有文本顯示在頁面上?
我可以通過元素定位器獲取任何特定的文本,但是目前我需要編寫一個函數來獲取頁面上顯示的所有文本。
有沒有人知道一種方式?或者提示如何讓事情繼續下去?
你可以做到這一點通過獲取<body>
標籤的文本內容:
${text}= Get Text //body
Log ${text} # a very long string, with newlines as delimiters b/n the different tags
${text as list}= Split To Lines ${text}
Log ${text as list} # a list, each member is the different tag's text
另一個(非工作與SE)的方式來做到這一點是每一個元素去後,用定位器如//body//*
,在其上生成網絡元素Get Webelements
。
但是,如果您在每個生成的webelement上調用Get Text
,它將返回其文本以及所有子項的文本,從而複製數據。這可以在純xpath/xslt(text()
,.
和normalize-space()
)中完成,但遺憾的是不通過webdriver/selenium(它總是期望節點作爲參數)。
答案的目的是去呈現2分鐘研究的結果:),並從網頁的每個元素上獲得任何可能已經用Get Text
實現它的人的反饋。
您可以獲取整個頁面的源代碼,然後使用該代碼:http://robotframework.org/Selenium2Library/Selenium2Library.html#Get%20Source –
謝謝JanKovařík! 我想這會做的伎倆! –
@JanKovařík 我通過以下來源: '$ {} SRC = Selenium2Library.Get來源 OperatingSystem.Create文件$ {} OUTPUT_DIR $ /source.html {SRC}' 現在想不出如何從源頭獲取文本。 有關於此的任何想法? 謝謝 –