在爬虫过程中,html页面为了页面简洁美观,某些元素设置了不可见,需要鼠标点击或者悬浮才能展示,导致在爬虫过程中通过XPATH或CSS选择器定位元素时,报错无法找到。下图是爬取牛客网一些招聘信息时的截屏
解决办法:
定义了一个js变量,然后通过getElementById()或getElementsByClassName()方法去引用display元素,修改none属性为block属性(作为块级元素显示),然后通过selenium自带的execute_script方法执行脚本。
最后,当元素属性置为可见时,即可以定位元素获取。文章来源:https://www.toymoban.com/news/detail-512419.html
js = "document.getElementsByClassName('detail')[%d].style.display='block'" % x
# 执行js代码
driver.execute_script(js)
time.sleep(2)
class类不能简单直接拿来判断,因为具有多个class,所以要加上数组才能判断。
文章来源地址https://www.toymoban.com/news/detail-512419.html
到了这里,关于selenium爬虫遇见 display:none元素解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!