有次在爬深圳房地产信息网信息,但是在爬备案号的时候卡到了,备案名爬不下来,只有用鼠标放在信息上面才会出现
后来检查了一下发现display:none,这是一个css设置,可以让模块不显示
经过一翻查询发现可以用selenium执行js代码来修改css
# 一页20个数据
for x in range(20):
# 根据类来定位元素,必须加序号不然报错
js = "document.getElementsByClassName('left f16')[%d].style.display='block'" % x
# 执行js代码
driver.execute_script(js)
time.sleep(0.1)
class类不能简单直接拿来判断,因为具有多个class,所以要加上数组才能判断。
不一定必须使用类来定位id也可以:document.getElementById(“id值”)
参考资料:JS:Cannot set property ‘display’ of undefined问题.