webdriver之滚动条操作

Posted 青春无限坑!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webdriver之滚动条操作相关的知识,希望对你有一定的参考价值。

当待操作的元素在页面可视区域之外,则需要将待操作的元素,滚动到可视区域当中。

步骤:

1、先查找到的元素

element=driver.find_element_by_xxx("xxx")

 

2、再将元素拖动到可见区域,通过javascript语句实现,以下4种场景

1)、移动到元素element对象的“顶端”与当前窗口的"顶部”对齐:

driver.execute_script("arguments[0].scrollIntoView();",element)

 

2)、移动到元素element对象的“底端”与当前窗口的“底部”对齐:

driver.execute_script("arguments[0].scrollIntoView(false);",element)

 

3)、移动到页面底部:

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

 

4)、移动到页面顶部:

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、再操作元素

element.xxx()

 

 

 

以上是关于webdriver之滚动条操作的主要内容,如果未能解决你的问题,请参考以下文章

Selenium-测试对象操作之:获取浏览器滚动条滚动距离

java selenium webdriver处理JS操作窗口滚动条

Selenium-测试对象操作之:浏览器滚动条

Python+selenium之调用JavaScript

python+Selenium之拖动滚动条

WebDriver API 元素定位