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

Posted 守护@往昔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium 常见操作,js操作-将元素滚动到页面可见区域相关的知识,希望对你有一定的参考价值。

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

js操作-滚动条:使用: selenium 当中使用 execute_script   (译:埃克斯Q特。思怪泼特) 方法 执行 js 语句;

 

页面元素滚动到可见区域常用的操作:

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 import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

driver.find_element_by_id("kw").send_keys("电脑", Keys.ENTER)
# driver.find_element_by_id("su").click()

# 1、找到我要滚动到可见区域的元素
loc = (By.XPATH, \'//a[text()="_百度百科"]\')
WebDriverWait(driver, 20).until(EC.visibility_of_element_located(loc))
element = driver.find_element(*loc)

# 2、执行js的函数将元素滚动到可见区域:execute_script(译:埃克斯Q特。思怪泼特)
driver.execute_script("arguments[0].scrollIntoView(false);", element)  # 因顶部有遮罩层,所以与可见区域的底部对齐。

#
执行js的函数,如果是两个参数 # driver.execute_script("arguments[0].scrollIntoView(false);alert(arguments[1])", element, "200") # 滚动到可见区域后,进行点击操作 element.click() # 等待五秒,查看效果,关闭浏览器 time.sleep(5) driver.quit()

 

 

*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/,谢谢!!******* 

以上是关于selenium 常见操作,js操作-将元素滚动到页面可见区域的主要内容,如果未能解决你的问题,请参考以下文章

Selenium2+python自动化17-JS处理滚动条

Selenium2+python自动化17-JS处理滚动条

Selenium2+python自动化17-JS处理滚动条

Selenium 浏览器滚动条操作

selenium移动div里面的滚动条,操作弹出对话框

selenium+Python(Js处理浏览器滚动条)