在我們使用selenium進(jìn)行抓取網(wǎng)頁(yè)的時(shí)候,可能有的時(shí)候會(huì)抓取不到內(nèi)容。
例如:driver.find_element_by_xxx().text() 為空的解決辦法?
?在用driver.find_element_by_xxx().text()獲取文本的時(shí)候,得到的文本為空,
那么當(dāng)前定位的元素可能被隱藏了。
我們先查看當(dāng)前的元素的原始代碼
?
我們發(fā)現(xiàn)是有內(nèi)容的,但是取出時(shí)是空。怎么判斷是否被隱藏呢,可以通過(guò).is_displayed()方法來(lái)判斷。
?我們可以看到返回時(shí)False,確實(shí)被隱藏了。這時(shí)我們就需要考慮怎么才能獲取到我們需要的數(shù)據(jù)了。
在某些情況下,我們需要獲取隱藏元素的文本。這些內(nèi)容可以使用
element.attribute('attributeName'), 通過(guò)**textContent, innerText, innerHTML**等屬性獲 取。(劃重點(diǎn))
innerHTML 會(huì)返回元素的內(nèi)部 HTML, 包含所有的HTML標(biāo)簽。
textContent 和 innerText 只會(huì)得到文本內(nèi)容,而不會(huì)包含 HTML 標(biāo)簽。
我們看下最終的效果
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-410703.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-410703.html
到了這里,關(guān)于selenium無(wú)法獲取到標(biāo)簽的文本內(nèi)容(text)的解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!