今天写爬虫时,发现有一个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 向下滚动的像素值