写在开始
最近有在用selenium做一些更复杂的工作,然后顺便出现了好多问题,下面盘点一下,当然是我还记得的.
瀑布流问题
有些网页属于动态加载网页的,根据你现在的页面位置来动态加载需要的内容,当然这样子用户体验会更好一点,毕竟会缩短第一次的加载时间嘛,然而对于爬虫来说似乎很悲催,因为如果只能获取静态网页的爬虫就解决不了这个问题了,除非模拟这个网站的get
和post
请求,所以显得很麻烦,当然了,这个selenium就没有太多这些问题,毕竟这个是控制浏览器来做一些动作的.
解决方式
用selenium
的webdriver
里面的execute_script
方法就可以直接执行一个js脚本,然后通过执行window.scrollTo(0,document.body.scrollHeight)
这一行代码来让浏览器往下滑,至于终止标志的话就是找一个在浏览器最下方的一个标签,然后定位这个标签就好了,在加载完成之前这个标签只要没有就好,然后搜索不到这个标签就弹出异常,然后捕捉这个异常就行了,等到捕捉不到这个异常的时候就可以跳出循环了,这样子这个瀑布流就解决了,完整代码就不附了,随便谷歌一下就能找到一片.
写在最后
这个问题还是比较好解决的,不过要考虑给浏览器加载时间,所以一定要注意好sleep
,不然也会出错的.