使用Selenium 的Text 和innerHTML 之間的差異
在Selenium 中,可以使用兩種方法從元素中檢索內容: . text和.get_attribute("innerHTML")。雖然它們看起來相似,但兩者之間存在明顯差異。
get_attribute("innerHTML")
.get_attribute("innerHTML") 擷取下列內容的內部 HTML一個元素,包括其中的所有標籤和文字內容。此方法嘗試檢索具有指定名稱的屬性值,如果未找到,則傳回具有相同名稱的屬性值。如果屬性或屬性都不存在,則傳回 None。真值(等於 true 或 false)會以布林值傳回,而所有其他非 None 值會作為字串傳回。
Text
.text,在另一方面,只擷取元素的可見文字。它會忽略任何 HTML 標籤或其他非文字內容。
屬性與屬性
要進一步理解差異,了解屬性和屬性之間的區別至關重要HTML。當瀏覽器解析 HTML 時,它會根據標籤建立 DOM 物件。標準 HTML 屬性會自動轉換為這些 DOM 物件的屬性。但是,非標準屬性只能透過 .get_attribute() 方法存取。
何時使用 innerHTML
需要時使用 .get_attribute("innerHTML")捕捉元素內的整個 HTML 內容,包括標籤和任何嵌入的腳本或 CSS。這對於提取複雜內容非常有用。
何時使用文字
當您只對元素的可見文字內容感興趣(不包括任何內容)時,請使用 .text HTML 標籤。這通常用於檢索使用者輸入的文字或將其顯示在螢幕上。
以上是Selenium:`text` 與 `get_attribute('innerHTML') – 我應該使用哪種方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!