写在开始

最近有在用selenium做一些更复杂的工作,然后顺便出现了好多问题,下面盘点一下,当然是我还记得的.

瀑布流问题

有些网页属于动态加载网页的,根据你现在的页面位置来动态加载需要的内容,当然这样子用户体验会更好一点,毕竟会缩短第一次的加载时间嘛,然而对于爬虫来说似乎很悲催,因为如果只能获取静态网页的爬虫就解决不了这个问题了,除非模拟这个网站的getpost请求,所以显得很麻烦,当然了,这个selenium就没有太多这些问题,毕竟这个是控制浏览器来做一些动作的.

解决方式

seleniumwebdriver里面的execute_script方法就可以直接执行一个js脚本,然后通过执行window.scrollTo(0,document.body.scrollHeight)这一行代码来让浏览器往下滑,至于终止标志的话就是找一个在浏览器最下方的一个标签,然后定位这个标签就好了,在加载完成之前这个标签只要没有就好,然后搜索不到这个标签就弹出异常,然后捕捉这个异常就行了,等到捕捉不到这个异常的时候就可以跳出循环了,这样子这个瀑布流就解决了,完整代码就不附了,随便谷歌一下就能找到一片.

写在最后

这个问题还是比较好解决的,不过要考虑给浏览器加载时间,所以一定要注意好sleep,不然也会出错的.

Last modification:January 27th, 2020 at 01:34 pm