selenium对js的执行操作——selenium控制浏览器页面的滚动

调用JavaScript代码

虽然WebDriver提供了操作浏览器的前进和后退方法,但对于浏览器滚动条并没有提供相应的操作方法。在这种情况下,就可以借助JavaScript来控制浏览器的滚动条。WebDriver提供了execute_script()方法来执行JavaScript代码。

用于调整浏览器滚动条位置的JavaScript代码如下:

window.scrollTo(0,450); window.scrollTo()方法用于设置浏览器窗口滚动条的水平和垂直位置。方法的第一个参数表示水平的左间距,第二个参数表示垂直的上边距。其代码如下:

from selenium import webdriver
import time
url = ‘https://www.hao123.com/‘

driver = webdriver.Firefox()
driver.get(url)

for i in range(100):
    # 滚动到固定位置
    js = ‘window.scrollTo(0,%s)‘%(100*i)
    # 滚动到距离顶部指定长度
    # js = "var q=document.documentElement.scrollTop=%s"%(100*i)
    driver.execute_script(js)
    time.sleep(0.1)

time.sleep(5)
driver.quit()

通过浏览器打开百度进行搜索,然后通过execute_script()方法执行JavaScripts代码来移动滚动条的位置。

原文地址:https://www.cnblogs.com/a565810497/p/11599612.html

时间: 2024-10-09 08:34:59

selenium对js的执行操作——selenium控制浏览器页面的滚动的相关文章

关于js预编译以及js文件执行顺序的几个问题。

关于js的执行原理,除去html页面中直接添加的代码,js代码的放置可以分为两类. //情形a           <script type="text/javascript" src="xxx.js"$amp;>amp;$lt;/script>           //情形b            <script type="text/javascript">           code......       

IE在开发工具启动的情况下(打开F12)时 JS才能执行

在开发一个项目时遇到一个bug:在360急速浏览器的兼容模式下并且是线上环境时js无法执行(360急速浏览器的兼容模式下测试环境就ok), 打开f12以后刷新就没问题了,查了一下网上说的IE6/7是没有console对象的,IE8/9只有在打开F12的时候才会创建console对象, 但是我的项目是兼容ie789的,平时用console.log也没有出现错误,而且这次的bug只有在360急速浏览器的兼容模式下才出现, 我觉得应该是某些浏览器一些版本会有上述在打开F12的时候才有console对象

selenium 学习-js执行,事件模拟,页面加载等待

selenium  使用的时候要注意 1,浏览器的版本 2,和对应 jar 包 3,浏览器的环境变量设置 System.setProperties("key","value") 如下(创建浏览器对象): System.getProperties().setProperty("phantomjs.binary.path", ""phantomjs-2.1.1-windows/bin/phantomjs.exe"&quo

Python selenium中添加JS并执行JS语句

众所周知,Python通常结合selenium模块来完成一些web的自动化测试以及RPA(Robotic Process Automation)工作.事实上,Selenium还可以支持插入js语句.执行js语句.返回js语句的执行结果到python程序中.这对于那些已经习惯了Javascript语法的程序员们,简直是一大神器. 举个简单的例子,我们用selenium原生的方法对页面的一个input元素执行输入时,通常需要用到selenium中的send_keys以及clear方法, 代码类似于:

selenium 使用js执行脚本儿链接整理

使用Webdriver执行js小结:http://lijingshou.iteye.com/blog/2018929 Selenium+Webdriver学习(三)执行JS脚本:http://www.tuicool.com/articles/buIbeiN selenium webdriver 执行javascript代码:http://www.open-open.com/lib/view/open1402750704931.html 高端自动化测试交流群:310924886

Python selenium的js扩展实现

python写的数据采集,对一般有规律的页面用 urllib2 + BeautifulSoup + 正则就可以搞定. 但是有些页面的内容是通过js生成,或者通过js跳转的,甚至js中还加入几道混淆机制:对这种涉及页面脚本解析的内容,前面的方式便很无力. 这时我们需要能解析.运行js的引擎——浏览器,而python selenium能提供程序与浏览器的交互接口,再加上phantomjs这个可以后台运行的浏览器,即使用 selenium + phantomjs 便可以解决以上的问题. seleniu

python之selenium调用js(execute_script)

转载: http://www.cnblogs.com/fnng/p/3230768.html 本节重点: 调用js方法 execute_script(script, *args) 在当前窗口/框架 同步执行javaScript 脚本:JavaScript的执行. *参数:适用任何JavaScript脚本. 使用: driver.execute_script('document.title') 使快播登陆用户名输入框标红显示: #coding=utf-8 from selenium import

python selenium --调用js

转自:http://www.cnblogs.com/fnng/p/3230768.html 本节重点: 调用js方法 execute_script(script, *args) 在当前窗口/框架 同步执行javaScript 脚本:JavaScript的执行. *参数:适用任何JavaScript脚本. 使用: driver.execute_script(‘document.title’) 使快播登陆用户名输入框标红显示: #coding=utf-8 from selenium import w

JSCover+WebDriver/Selenium获取JS代码覆盖率

我们在看JSCover(http://tntim96.github.io/JSCover/manual/manual.xml)介绍及使用说明的时候,往往被图形界面所吸引.这种方式比较适合手工操作,点击和输入即可. 但是这种往往界面和真实界面相差比较大,因为真正的网页在JSCover内部的浏览加载框中.这使得原有的Selenium代码可能存在诸多问题.那么如何能够尽量少地改变原有的selenium代码而又获取到js的code coverage呢?这可以采用文件模式(File Mode). 1. I