使用selenium进行抓取网页的时候,通过 .text() 获取不到文本内容解决办法
selenium 获取不了标签文本的解决方法,通过driver.find_element_by_xxx().text 为空的解决办法
<a href="http://www.baidu.com">百度</a>
假设当前通过 .text 获取不到文本,那么当前定位的元素可能被隐藏了。
1.判断是否被隐藏:driver.find_element_by_xx().is_displayed()
print(driver.find_element_by_xx().is_displayed() )
打印结果,如果得到 false 或者空白的结果. 那就说明被隐藏了
怎么解决?
is_displayed() 为false的元素,依然可以通过“getAttribute()”方法获取元素的属性.
由于webdriver spec的定义,Selenium WebDriver 只会与可见元素交互,所以获取隐藏元素的文本总是会返回空字符串。
可是,在某些情况下,我们需要获取隐藏元素的文本。这些内容可以使用deiver.find_element_by_xx()..get_attribute('attributeName')来获取。
get_attribute('textContent') 获取元素标签的内容get_attribute('innerHTML') 获取元素内的全部HTMLget_attribute('outerHTML') 获取包含选中元素的HTML
赞 (0)