目的:通過selenium控制瀏覽器滾動條
原理:通過 driver.execute_script()執行js代碼,達到目的
driver.execute_script("window.scrollBy(0,1000)")
語法:scrollBy(x,y)
參數 描述
x 必需。向右滾動的像素值。
y 必需。向下滾動的像素值。
或者用
driver.execute_script("window.scrollTo(0,1000)")
語法:scrollBy(x,y)
參數 描述
x 必需。必需。要在窗口文檔顯示區左上角顯示的文檔的 x 坐標。
y 必需。必需。要在窗口文檔顯示區左上角顯示的文檔的 y 坐標。
配合chrome插件能快速找到位置:page ruler
問題總結:
為了達到目的我想到了2種方法:
1.網上大多是拿到瀏覽器滾動條的js代碼,然后執行,不知道為什么我這親測沒有成功;
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
2.通過模擬鍵盤的形式去滾動屏幕,也沒成功,也許是我對這個用法還不熟練
driver.find_element_by_css_selector('.fadeInUp.animated').send_keys(Keys.DOWN)