最近在使用selenium抓取数据,但是需要使用js控制滚动条来加载数据。主要是不会js,不会直接使用js来加载数据。
这里就使用笨方法,控制滚动条滚动到制定元素来加载数据。
版本1:下拉滚动条
最开始使用的是滚动滚动条向下100000
用于标识滚动条位置的代码:
如果滚动条在最上方的话,scrollTop=0 ,那么要想使用滚动条在最下方,可以 scrollTop=100000这样就可以使滚动条在最下方
主要代码的实现为:
js="var q=document.documentElement.scrollTop=10000"driver.execute_script(js)
版本2:控制滚动条到指定位置
控制滚动条到制定的元素:
制定的元素的Class为”_52jv“,控制滚动条到该位置。
主要代码如下:
js = 'document.getElementsByClassName("_52jv")[0].scrollIntoView({block: "end", behavior: "smooth"})'browser.execute_script(js)
getElementsByClassName()获取当前网页中所有的class的名为"_52jv"的元素对象的列表。该函数可以更换为其他定位元素的函数。
scrollIntoView()滑动滚动条到该位置。
{block: "end", behavior: "smooth"}滑动到该元素的低端,并且缓慢滑动
这样就可以了。完成。
领取专属 10元无门槛券
私享最新 技术干货