码迷,mamicode.com
首页 > 其他好文 > 详细

selenium 控制chrome的滚动条

时间:2020-03-21 11:25:14      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:网上   ade   code   webdriver   亲测   插件   exe   http   ima   

看到书上有一个控制chrome的页面滚动条的方法,试着运行了一下,总是报错。在网上也找到过这个方法,但说的都比较简单,就是运行不了。可能是我对它理解的不够。

幸好,又找到了另外一个方法,解决了这个问题,能成功的操作页面的滚动条。

 

贴代码:

#coding=utf-8
import time

from selenium import webdriver

driver=webdriver.Chrome()
driver.get(‘https://www.baidu.com‘)

driver.maximize_window()
driver.implicitly_wait(20)
driver.find_element_by_id(‘kw‘).send_keys(‘hello!‘)
driver.find_element_by_id(‘su‘).click()

a=driver.current_window_handle
driver.switch_to_window(a)
time.sleep(3)
# js01 = "window.scrollBy(0,1000)" #滚动页面,控制页面的滚动条
# driver.execute_script(js01)

targetElem = driver.find_element_by_xpath(‘//*[@id="6"]/h3/a‘)
driver.execute_script("arguments[0].focus();",targetElem) #滚动到页面的指定元素

 

 

 

 

参考文章内容:——跟我遇到的问题非常类似。

目的:通过selenium控制浏览器滚动条

原理:通过 driver.execute_script()执行js代码,达到目的
     driver.execute_script("window.scrollBy(0,1000)"
语法:scrollBy(x,y)
参数  描述
x   必需。向右滚动的像素值。
y   必需。向下滚动的像素值。
或者用
      driver.execute_script("window.scrollTo(0,1000)"
语法:scrollBy(x,y)
 
参数  描述
x   必需。必需。要在窗口文档显示区左上角显示的文档的 x 坐标。
y   必需。必需。要在窗口文档显示区左上角显示的文档的 y 坐标。
配合chrome插件能快速找到位置:page ruler
 
问题总结:
为了达到目的我想到了2种方法:
1.网上大多是拿到浏览器滚动条的js代码,然后执行,不知道为什么我这亲测没有成功; 
   js="var q=document.documentElement.scrollTop=10000"
   driver.execute_script(js)
2.通过模拟键盘的形式去滚动屏幕,也没成功,也许是我对这个用法还不熟练
 driver.find_element_by_css_selector(‘.fadeInUp.animated‘).send_keys(Keys.DOWN)

selenium 控制chrome的滚动条

标签:网上   ade   code   webdriver   亲测   插件   exe   http   ima   

原文地址:https://www.cnblogs.com/stonmy2008/p/12537240.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!