标签:execute 滚动 鼠标 script selenium driver window 滑动 500
我们在进行UI自动化测试时,免不了要滑动鼠标,因为有些元素并不在首屏,需要滑动鼠标才可见。
selenium进行自动化过程中,可通过execute_script执行js语句实现页面滑动。常见的滑动场景分为四种:滑动至页面底部、滑动至顶部、滑动至具体位置、滑动至目标元素可见。
滑动到页面底部:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight)")
滑动到页面顶部:
driver.execute_script("window.scrollTo(0, -document.body.scrollHeight)")
滑动到具体位置:
driver.execute_script("window.scrollTo(x,y)") # 滚动到具体位置 driver.execute_script("window.scrollBy(x,y)") # 滚动到具体位置 driver.execute_script("window.scrollBy(0,500)") # 向下滑动500个像素 driver.execute_script("window.scrollBy(0,-500)") # 向上滚动500个像素 driver.execute_script("window.scrollBy(500,0)") # 向右滑动500个像素 driver.execute_script("window.scrollBy(-500,0)") # 向左滚动500个像素
或者
# 滚动条左右滚动————向右 js0 = 'var q=document.documentElement.scrollLeft=100' driver.execute_script(js0) # 滚动条左右滚动————向左 js1 = 'var q=document.documentElement.scrollLeft=0' driver.execute_script(js1) # 滚动条上下滚动————向下 js2 = 'var q=document.documentElement.scrollTop=1000' driver.execute_script(js2) # 滚动条上下滚动————向上 js3 = 'var q=document.documentElement.scrollTop=0' driver.execute_script(js3)
案例一:打开博客首页,将滚动条拖动到最底部,然后再拖动到最顶部
from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.csdn.net") time.sleep(3) # 将滚动条向下拖动到某个位置 js = 'var action=document.documentElement.scrollTop=50000000' driver.execute_script(js) time.sleep(3) # 将滚动条拖动到最顶部 js0 = 'var action=document.documentElement.scrollTop=0' driver.execute_script(js0) time.sleep(3) driver.quit()
案例二:模拟鼠标滚动到需要显示的元素位置,使用场景:浏览器窗口小,页面过大内容显示不全,元素可以定位但不可见
from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.csdn.net") time.sleep(3) target = driver.find_element_by_xpath("//a[text()='关于我们']") driver.execute_script("arguments[0].scrollIntoView();", target) # 第一种方式 # driver.execute_script("arguments[0].focus();", target) # 第二种方式 time.sleep(3) driver.quit()
____________________________________________________________________________________
参考自:http://www.manongjc.com/detail/17-gtiggglmhdjppwu.html
标签:execute,滚动,鼠标,script,selenium,driver,window,滑动,500 来源: https://www.cnblogs.com/falling-trees/p/16145656.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。