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操作