代码可以直接取用。
一、浏览器自带的滚动条。
js = "var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
from selenium import webdriver
from time import sleep
class Test_8888():
def test_8888(self):
self.wd = webdriver.Firefox()
self.wd.maximize_window()
self.wd.get("http://www.baidu.com")
self.wd.find_element_by_id("kw").send_keys("selenium")
self.wd.find_element_by_id("su").click()
sleep(1)
```
'var q=document.documentElement.scrollTop=XXX'
xxx 可变数值,修改滚动条移动多少。
```
jsDown = "var q=document.documentElement.scrollTop=10000"
jsUp = "var q=document.documentElement.scrollTop=0"
for i in range(10):
print("向下")
self.wd.execute_script(jsDown)
sleep(0.5)
print("向上")
self.wd.execute_script(jsUp)
sleep(0.5)
self.wd.close()
if __name__ == '__main__':
test = Test_8888()
test.test_8888()
二、内嵌框架的滚动条。
js = "var q=document.getElementById('ID').scrollTop=100000"
首先定位到内嵌框架的ID 然后放入代码。这有个坑当前页面有iframe时,如果你进入去了然后又要滑动那你只有先出来在定位滑动。不然会报找不到元素。
image.png
import time
from selenium import webdriver
class Test_8889():
def test_8889(self):
self.wd = webdriver.Firefox()
self.wd.maximize_window()
self.wd.get("https://ebanks.cgbchina.com.cn/perbankDemo//main.htm#")
time.sleep(2)
for i in range(6):
self.wd.find_element_by_id("buttonNextDiv").click()
'''
"var q=document.getElementById("id").scrollTop=100000"
'''
jsDown = "var q=document.getElementById('mainWrapper').scrollTop=100000"
jsUpward = "var q=document.getElementById('mainWrapper').scrollTop=0"
for i in range(10):
print("向下")
self.wd.execute_script(jsDown)
time.sleep(0.5)
print("向上")
self.wd.execute_script(jsUpward)
time.sleep(0.5)
self.wd.close()
if __name__ == '__main__':
Test_8889().test_8889()