selenium 常见操作,js操作-将元素滚动到页面可见区域

#selenium 常见操作,js操作-将元素滚动到页面可见区域

我们在自动化测试中,会遇到需要把浏览器页面的元素移动到可见区域,就需要使用页面向上或者向下滚动

js操作-滚动条:使用: selenium 当中使用 execute_script

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

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

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

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

3、移动到页面底部:

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

4、移动到页面顶部:

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

练习:

将元素滚动到可见区域 :百度查询“电脑”,将“电脑_百度百科”移动到底部。

1、需要滚动的对象:先定位元素

2、js的滚动语句:上面的四种方法

from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
#启动谷歌浏览器,开启与浏览器之间的绘话,会话周期:打开浏览器到关闭浏览器。
driver = webdriver.Chrome(service_log_path='E:柠檬班二chromedriver_service.log')
#全局等待,隐性等待,如果不加等待,页面弹窗上可能找不到用户名密码这个元素
driver.implicitly_wait(30)
#访问一个网页
driver.get("https://www.baidu.com")
driver.maximize_window()
driver.find_element_by_id('kw').send_keys("12306")
driver.find_element_by_id('su').click()
#driver.find_element_by_xpath("").text  获取文本
#driver.find_element_by_xpath("").get_attribute()
#driver.find_element_by_xpath("").send_keys()

#滚动条处理
#1、找到要滚到可视区域的元素
WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH,'//a[contains(text(),"吧_百度贴吧")]')))
ele = driver.find_element_by_xpath('//a[contains(text(),"吧_百度贴吧")]')

#2、使用js进行滚动操作
driver.execute_script("arguments[0].scrollIntoView(false);",ele)

# 2、使用js进行滚动操作
js操作
原文地址:https://www.cnblogs.com/wuzm/p/12422131.html