python 3+selenium JS操作ページスクロールバーを使用

13378 ワード

js2 = "window.scrollTo(0,0);" #      

必要なスクロール座標が分からない場合:
weizhi2 = driver.find_element_by_id("goldLeaseApp_bClientID") #        
driver.execute_script("arguments[0].scrollIntoView();", weizhi2) #         
arguments[0].scrollIntoView()     

リファレンスリンク
参照コード:
JSを使用して縦スクロールバーをスライド
from selenium import webdriverfrom time import sleep
# driver = webdriver.Chrome()driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_id('kw').send_keys("storm")
driver.find_element_by_id('su').click()
js1 = "window.scrollTo(0, document.body.scrollHeight)"#        
js2 = "window.scrollTo(0,0)"#     
js3 = "window.scrollTo(0,200)"#    200  
js4 = "arguments[0].scrollIntoView();"#             

sleep(2) #       ,              
driver.execute_script(js1) #  js1,         
sleep(2) #     ,   
driver.execute_script(js2) #  js2,         
sleep(2) #     ,   
driver.execute_script(js3) #  js3,        200  
sleep(2) #     ,   driver.execute_script(js2) #  js2,         sleep(2)
ele = driver.find_element_by_id('con-ar')  #      driver.execute_script(js4,ele)  #             
sleep(2)
driver.quit()
    Chrome   Firefox          

JSスライド横スクロールバーの使用
from selenium import webdriverfrom time import sleep

driver = webdriver.Chrome()# driver = webdriver.Firefox()driver.get("http://www.baidu.com")
driver.find_element_by_id('kw').send_keys("storm")
driver.find_element_by_id('su').click()

driver.set_window_size(500,500) #       ,         
js5 = "window.scrollTo(document.body.scrollWidth,0)"
js6 = "window.scrollTo(0,0)"
js7 = "window.scrollTo(200,0)"
driver.execute_script(js5)  #      
sleep(2)
driver.execute_script(js6) #      
sleep(2)
driver.execute_script(js7) #    200  
sleep(2)
driver.quit()

インラインスクロールバーの操作
スクロールバーを埋め込み、一般的にiframeの中に埋め込み、スクロールバーを操作するiframeの中にカットすればいいです.
from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
# driver = webdriver.Firefox()
driver.get("http://sahitest.com/demo/iframesTest.htm")
sleep(2)
driver.switch_to.frame(1)#1  id=1 frame(  )
js5 = "window.scrollTo(0,200)"driver.execute_script(js5)  #    200  sleep(2)
driver.quit()

マルチスライドの例
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.maximize_window()
driver.get("http://www.taobao.com")
title = driver.title#title       
if title == '    -  !   ':
    print('    ')
else:
    print('    ')
driver.find_element_by_css_selector("#q").send_keys("   ")#          
driver.find_element_by_css_selector(".btn-search").click()#      
sleep(2)
aaa = "window.scrollTo(0,500);" #           500,  (     ) 0
bbb = "window.scrollTo(0,800);"
ccc = "window.scrollTo(0,1000);"
driver.execute_script(aaa)#     
sleep(2)
driver.execute_script(bbb)#        
sleep(2)
driver.execute_script(ccc)#