js操作
1、1.直接传入Javascript代码,定位元素
js可以点击页面上不显示暂时隐藏(比如下拉列表),但是html文件中存在的属性
WebDriver driver = new FirefoxDriver();
JavascriptExecutor js = (JavascriptExecutor)dr;
比如:http://www.globebuy.com/search/searchNew.jhtml?query=minions&categoryid=250007 页面中登录下的my Account
js.executeScript("window.document.getElementById('myAccount').click()";
2、传入WebElement执行JS,对元素进行操作
此处可以通过webdriver的N种定位方式来定位 id/name/class/linktext/partlinktext/xpath/css等
- WebElement element = driver.findElement(By.linkText("Electronics")); //
- js.executeScript("arguments[0].click();", element);
3、为元素新增点击事件
之前元素没有onclick()事件,此处是新增
WebElement e = driver.findElement(By.xpath(".//*[@id='lg']/img"));
js.executeScript("arguments[0].onclick=function(){window.open('http://www.sina.com')}",e);
4、修改元素属性
- WebElement e= driver.findElemnt(By.id("inputnumber"));
- js.executeScript("arguments[0].setAttribute('style', arguments[1])", e, "height: 800px");
5、 新增元素属性
待定
6、 删除元素属性
- WebElement e= driver.findElemnt(By.id("inputnumber"));
- js.executeScript("arguments[0].removeAttribute('style')",e);
7、 得到元素属性
- WebElement e= driver.findElemnt(By.id("inputnumber"));
- js.executeScript("document.getElementById("myDiv")",e);
js操作的更多相关文章
- JS操作未跨域iframe里的DOM
这里简单说明两个方法,都是未跨域情况下在index.html内操作b.html内的 DOM. 如:index.html内引入iframe,在index内如何用JS操作iframe内的DOM元素? 先贴 ...
- ThinkPHP 表单提交操作成功后执行JS操作如何刷新父页面或关闭当前页等操作
ThinkPHP 表单提交操作成功后执行JS操作如何刷新父页面或关闭当前页等操作 .操作成功后刷新父页面 $this->assign('jumpUrl', "javascript:wi ...
- jquery.cookie.js 操作cookie实现记住密码功能的实现代码
jquery.cookie.js操作cookie实现记住密码功能,很简单很强大,喜欢的朋友可以参考下. 复制代码代码如下: //初始化页面时验证是否记住了密码 $(document).ready( ...
- JS操作JSON总结
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- [荐]使用Js操作注册表
使用Js操作注册表 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作. WshShell对象:可以在本地运行程序.操纵注册表内容.创建快捷方式或访问 ...
- 框架操作DOM和原生js操作DOM比较
问题引出 对于Angular和React操作DOM的速度,和原生js操作DOM的速度进行了一个比较: 一个同学做的demo 代码如下: <!DOCTYPE html> <html n ...
- js操作textarea方法集合
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- js 操作ASP.NET服务器控件
js 操作ASP.NET服务器控件 在ASP.NET中使用js时,js获取DOM元素时,经常获取不到,这是因为获取的方法有误,现在介绍一方法,解决如何使用js获取ASP.NET控件在浏览器端生成htm ...
- js 操作select和option
js 操作select和option 1.动态创建select function createSelect(){ var mySelect = document.createElement_x(&qu ...
- 第十四课:js操作节点的插入,复制,移除
节点插入 appendChild方法,insertBefore方法是常用的两个节点插入方法,具体实现,请看js高级程序设计,或者自行百度. 这里提一下面试时经常会问到的问题,插入多个节点时,你是怎么插 ...
随机推荐
- VS2015 Apache Cordova
VS2015 Apache Cordova第一个Android和IOS应用 前言 本人个人博客原文链接地址为http://aehyok.com/Blog/Detail/75.html. http: ...
- leetcode第17题--4Sum
Problem:Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + ...
- OpenGl绘制螺旋线
/** * 缓冲区工具类 */public class BufferUtil { /** * 将浮点数组转换成字节缓冲区 */ public static ByteBuffer arr2ByteB ...
- python包
有个伟人说过: python的学习很大一部分取决与你对第三方包的熟悉和掌握程度! virtualenv virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够: ...
- 【WCF系列一】WCF入门教程(图文) VS2012
WCF的全称是Windows Communication Foundation,从英文名称上看,WCF就是基于Windows下一种通讯的基础架构.利用WCF能够实现基于Windows下的各种通讯技术的 ...
- C#中的深复制与浅复制
C#中分为值类型和引用类型,值类型的变量直接包含其数据,而引用类型的变量则存储对象的引用. 对于值类型,每个变量都有自己的数据副本,对一个变量的操作不可能影响到另一个变量.如 class Progra ...
- JS引擎
在javax.script包下提供有关脚本引擎的类和接口,为我们定义了一系列的规范,达到可以在java应用程序中执行脚本语言编写的程序. javax.script包的主要功能有: 1.脚本执行:执行脚 ...
- 增删查改-MySQL
查询: 在MySQL中,select的基本语法形式: select 属性列表 from 表名和视图 [where 条件表达式] [group by 属性名 [having 条件表达式]] [order ...
- 10-18 noip提高组模拟赛(codecomb)T1倍增[未填]
T1只想到了找环,> <倍增的思想没有学过,所以看题解看得雨里雾里的(最近真的打算学一下! 题目出的挺好的,觉得noip极有可能出现T1T2T3,所以在此mark 刚开始T1以为是模拟,还 ...
- VMware上安装ubuntu 13.04
作者:viczzx 出处:http://www.cnblogs.com/zixuan-zhang 欢迎转载,也请保留这段声明.谢谢! 这两天打算在Linux环境下学Python语言,想换个高点的ubu ...