Fonctionnement de la barre de défilement Webdriver

Lorsque l'élément à opérer est en dehors de la zone visible de la page, il est nécessaire de faire défiler l'élément à actionner dans la zone visible.

étape:

1. L'élément trouvé en premier

element = driver.find_element_by_xxx ("xxx")

 

2. Faites glisser l'élément vers la zone visible et réalisez-le via des instructions JavaScript, les 4 scénarios suivants

1) Déplacez-vous vers le "haut" de l'objet élément pour l'aligner avec le "haut" de la fenêtre courante:

driver.execute_script ("arguments [0] .scrollIntoView ();", élément)

 

2) Déplacez-vous vers le "bas" de l'objet élément pour l'aligner avec le "bas" de la fenêtre courante:

driver.execute_script ("arguments [0] .scrollIntoView (false);", élément)

 

3) Allez au bas de la page:

driver.execute_script ("window.scrollTo (0, document.body.scrollHeight)")

 

4) Aller en haut de la page:

driver.execute_script ("window.scrollTo (document.body.scrollHeight, 0)")

 

from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get("https://ke.qq.com/")

#找到腾讯课堂,近30天最多人在学板块
element=driver.find_element_by_xpath("//div[@data-name='近30天最多人在学']//h2")

#移动元素element与当前窗口的“底部”对齐:
driver.execute_script("arguments[0].scrollIntoView(false);",element)

#移动元素element与当前窗口的“顶部”对齐:
time.sleep(2)
driver.execute_script("arguments[0].scrollIntoView();",element)

#滚动到页面最底部
time.sleep(2)#一定要等一下
driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")

#然后滚动到页面最顶部
time.sleep(2)
driver.execute_script("window.scrollTo(document.body.scrollHeight,0)")

3. Réactiver les éléments

élément.xxx ()

 

 

 

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42162451/article/details/86667850
conseillé
Classement