二、通过selenium控制网页任意滚动条

    今天写爬虫时,发现有一个table中的数据时需要拖动滚动条才能load出所有数据的,所以查阅了一些资料,总结一番教程。

方法一:

使用driver执行js代码,这个比较稳妥,也很通用。

例如:

js = 'var q = document.getElementById("id_name")'.scrollTop=10000'

driver.execute_script(js)

注意:这个是默认向下拖动,如果想向上拖动的话,将值改为-10000即可


方法二:

根据页面显示进行变通,发送tab键

在本例中的页面中,密码是输入框,正常手工操作时,可以通过tab键会切换到密码框中,所以根据此思路,在python中也可以发送tab键来切换,使元素显示

from selenium.webdriver.common.keys import Keys

driver.find_element_by_id("id_login_method_0").send_keys(Keys.TAB)

方法三:

使用scrollBy(x,y)函数

driver.execute_script("window.scrollBy(0,10000)")

参数说明:

x    向右滚动的像素值

y    向下滚动的像素值

你可能感兴趣的:(二、通过selenium控制网页任意滚动条)