Selenium-webdriver 系列Python教程(3)————如何执行一段JS

有时候在进行自动化测试时需要在页面上执行一段js 脚本, 这个时候就需要用到

execute_script 方法了。

from selenium import webdriver

BrowserObj_dirver = webdriver.Ie()

BrowserObj_dirver.get( "http://www.soso.com")

BrowserObj_dirver.implicitly_wait(5)

BrowserObj_dirver.execute_script("q = document.getElementByIdx_x_x(‘tb‘);" + "q.style.border = ‘1px solid red‘;")

上面的代码打开了SoSo 的首页,并高亮显示了id 为”tb”的div。

下面的例子演示了在打开QQ 首页的时候如何自动focus 到页面上的soso 搜索框

from selenium import webdriver

BrowserObj_dirver = webdriver.Ie()

BrowserObj_dirver.get( "http://www.qq.com")

BrowserObj_dirver.implicitly_wait(5)

BrowserObj_dirver.execute_script("p = document.getElementByName(‘w‘);" + "q.focus();")

时间: 2024-08-25 21:12:59

Selenium-webdriver 系列Python教程(3)————如何执行一段JS的相关文章

Page Object Model | POM (Selenium Webdriver For Python)

研究Selenium + python 自动化测试有近两个月了,不能说非常熟练,起码对selenium自动化的执行有了深入的认识. 从最初无结构的代码,到类的使用,方法封装,从原始函数调用,到重定义函数.从变量驱动,到数据驱动,再到关键字驱动,一步一步的默默走向自动化框架的构建.虽然还有没有投入使用,只是写几个demo,就慢慢的发现了 selenium自动用例脚本,相似功能地方,代码基本都是一样的,界面元素换个查找方式,把原来的使用 xpath方式,改为使用 id 查找,需要对每个用例脚本都要改

Selenium WebDriver(Python)API

1.通过示例介绍Selenium-WebDriver 一个简单的入门方法就是这个例子,它在Google上搜索术语"Cheese",然后将结果页面的标题输出到控制台. java csharp pythonfrom selenium import webdriverfrom selenium.common.exceptions import TimeoutExceptionfrom selenium.webdriver.support.ui import WebDriverWait # 可

【零基础】Selenium:Webdriver图文入门教程java篇(附相关包下载)

一.selenium2.0简述 与一般的浏览器测试框架(爬虫框架)不同,Selenium2.0实际上由两个部分组成Selenium+webdriver,Selenium负责用户指令的解释(code),webdriver则负责对浏览器进行控制和页面解析.所以使用Selenium2.0时需要相应版本的webdriver和浏览器,程序运行过程中会通过webdriver启动一个真实的浏览器.由于webdriver+浏览器的组合,Selenium不存在对js.ajax解析的问题,它直接使用浏览器对网站代码

selenium + webdriver(python)(三)

本节重点: 简单对象的定位 -----自动化测试的核心 对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象.一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证号,姓名,或者他住在哪个街道.楼层.门牌找到这个人. 那么一个对象也有类似的属性,我们可以通过这个属性找到这对象. 定位对象的目的一般有下面几种 · 操作对象 · 获得对象的属性,如获得测试对象的class属性,name属性等等 · 获得对象的text · 获得对象的数量 webdrive

python + selenium webdriver 通过python来模拟鼠标、键盘操作,来解决SWFFileUpload调用系统底层弹出框无法定位问题

Webdriver是基于浏览器操作的,当页面上传文件使用的是flash的控件SWFFileUpload调用的时候,调用的是系统底层的文件选择弹出框 这种情况,Webdriver暂时是不支持除页面外的其他操作 前期尝试过很多种方法,比如send_keys("path"),但是都无法解决 虽然Webdriver无法对底层进行操作,但是Python的扩展是可以的 通过模拟鼠标.键盘的操作,可以解决这个问题,但是这个方法比较笨,而且不怎么理想,如果有好的方法,请留言给我,谢谢! 解决方法: 1

Selenium WebDriver控制操作(Python)

不同于“HTML元素定位”那一篇,本篇主要记录selenium的各种控制操作. 1.修改页面元素属性. 需求场景:以<a>标签为例,当我们不希望新开tab或窗口打开链接时,就需要修改<a>的target属性为_self. 解决思路:似乎webdriver并不能改变页面的原始信息,但却提供了可以操作javascript脚本的接口,通过javascript可以顺利修改元素属性. 具体实现:driver.execute_script(script, *args) 1 def execut

selenium webdriver+windows+python+chrome遇见的问题

win7系统,在python中调用ChromeDriver 一直报错 “ selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path. ” 将ChromeDriver 的路径添加到系统变量path也不行,后来将ChromeDriver 拷贝到/python27/scripts 下,问题解决.即,需要拷贝到当前python脚本目录

selenium + webdriver(python)(Xpath)

http://www.w3school.com.cn/xpath/xpath_syntax.asp XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. XML 实例文档 我们将在下面的例子中使用这个 XML 文档. <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <t

C#先执行一段sql等后台操作后再提示是否后续操作confrim

应用场景:例如选择一个单据号打击打印后先去数据库检索是否有打打印过,如果有则提示,已打印,是否再打 如果没有则不提示,直接进行打印. 实现原理:多做一个隐藏按钮去实现打印功能,页面上的打印按钮则进行数据库的后台操作,跟据取出的数据 可以在后台直接调用打印,或用脚本调用前台confirm 代码Demo: 后台: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sys