爬虫作业
用selenium爬取某网站新闻的热点精选
- 通过chrome的开发者工具,监控网络请求,并分析
- 用selenium完成爬虫
- 了解ajax加载
Selenium调用js(execute_script)实现滚动页面
python-selenium提供的execute_script(),可以直接执行js的脚本
当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的。这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上。滚动条是无法直接用定位工具来定位的。selenium里面也没有直接的方法去控制滚动条,这时候只能借助JS了,还好selenium提供了一个操作js的方法
- 滚动到底部:window.scrollTo(0,document.body.scrollHeight)
- 滚动到顶部:window.scrollTo(0,0)
说明:window.scrollTo()方法用于设置浏览器窗口滚动条的水平位置和垂直位置,第一个参数表示水平左边距,第二个参数表示垂直上边距。
1.window:js的window对象
2.scrollTo():window的方法,可以滚到页面的任何位置
scrollHeight:是dom元素的通用属性,document.body.scrollHeight会返回body元素的高度,基本上就是页面的高度
scrollLeft:获取位于对象左边界和窗口目前可见内容的最左端之间的距离
scrollTop:获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象滚动的宽度
3.用法:execute_script方法可以调用原生JavaScript的api
driver.execute_script(js)
#通过JavaScript设置浏览器窗口的滚动条位置
js = "window.scrollTo(0,document.body.scrollHeight);" #滚动到浏览器底部
js = "window.scrollTo(0,document.body.scrollTop=0);" #滚动到顶部
- window.scrollX 返回文档/页面水平方向滚动的像素值
参考资料:https://developer.mozilla.org/zh-CN/docs/Web/API/Window/scrollTo
import time
from selenium