###
二、獲取元素中的文本內容 1、通過get_attribute(‘textContent’)來獲取元素的文本值 logoContext1 = driver.find_element_by_xpath('//div[@class="logo"]/span').get_attribute('textContent') 1 2、通過text來獲取文本值 logoContext2 = driver.find_element_by_xpath('//div[@class="logo"]/span').text 1 3、通過執行JS操作來獲取輸入的文本值 logoContext3 = "return document.getElementsByTagName('span')[0].innerText" 1 打印出來的值 后台管理系統
######
二、元素的text、innerText 和 textContent 的區別 以下內容參考鏈接 https://juejin.im/post/5c0914c5f265da610e7fe372整理和修改 我們再看一段代碼 1234 為了節約篇幅,我這里就不展示Python代碼。此處Python代碼和上文一致,僅將元素設置為"table_1"。 運行結果: 谷歌瀏覽器: 83.0.4103.116selenium版本號:3.141.0-------text---------1 24-------innerText---------1 24-------outerText---------1 24-------textContent---------1234-------innerHTML---------1234-------outerHTML---------- 1234 text、innerText和outerText 不能取到沒有渲染在頁面上的文本,也就是說隱藏的文本無法獲取,textContent能獲取所有的文本。 對於元素下面的子元素的文本獲取(例如本文中table下面的span元素) ,text、innerText和textContent獲取文本的格式不一樣,個人感覺innerText最貼合瀏覽器顯示。 innerText 會帶來性能影響,由於 innerText 的值依賴渲染之后的結果,會受到 CSS 樣式的影響,因此它會觸發重排(reflow),所以使用它會有一定的性能影響;而 textContent 不會,因此更建議使用 textContent。 textContent 是 W3C 兼容的文字內容屬性,但是 IE 不支持。innerText 不是 W3C DOM 的指定內容,FireFox不支持。谷歌瀏覽兩者都支持。
######