webdriver与JS操作浏览器元素
1、JQuery的选择器实例
| 语法 | 描述 |
|---|---|
| $(this) | 当前 HTML 元素 |
| $("p") | 所有 <p> 元素 |
| $("p.intro") | 所有 class="intro" 的 <p> 元素 |
| $(".intro") | 所有 class="intro" 的元素 |
| $("#intro") | id="intro" 的元素 |
| $("ul li:first") | 每个 <ul> 的第一个 <li> 元素 |
| $("[href$='.jpg']") | 所有带有以 ".jpg" 结尾的属性值的 href 属性 |
| $("div#intro .head") | id="intro" 的 <div> 元素中的所有 class="head" 的元素 |
2、原生js定位元素的方法
document.getElementById("intro") # id=intro的某个元素
document.getElementsByClassName("red") # class="red"的全部元素
document.getElementsByName("login") # name=login的全部元素
document.getElementsByTagName("p") # 所有 <p> 元素
document.getElementsByTagNameNS("ns","name") # 指定命名空间和节点名称的全部元素
document.querySelector("css_selector") # 返回文档中匹配指定 CSS 选择器的一个元素
document.querySelectorAll() # 返回匹配 CSS 选择器的全部元素
3、js操作浏览器
| 文本框中输入 | webdriver | driver.find_element_by_css_selector("[name='username']").send_keys('terry001') |
| jQuery | $("[name='username']").eq(0).val('terry001'); | |
| 原生java_script | var el=document.querySelector("[name='username']");el.value="terry001"; | |
| 文本框清空 | webdriver | driver.find_element_by_css_selector("[name='username']").clear() |
| jQuery | $("[name='username']").eq(0).val(''); | |
| 原生java_script | var el=document.querySelector("[name='username']");el.value=""; | |
| 读取文本框中输入的文本 | webdriver | 无 |
| jQuery | $("[name='username']").eq(0).val(); | |
| 原生java_script | var el=document.querySelector("[name='username']");el.value; | |
| 获取文本 | webdriver | driver.find_element_by_css_selector("#los>h2").text |
| jQuery | $("#los>h2").text(); | |
| 原生java_script | var el=document.querySelector("#los>h2"); el.innerText; | |
| 获取元素属性 | webdriver | driver.find_element_by_css_selector("[name='login']").get_attribute('type') |
| jQuery | $("[name='login']").eq(0).attr("type") | |
| 原生java_script | var el=document.querySelector("[name='login']"); el.getAttribute('type'); | |
| 鼠标左键点击 | webdriver | driver.find_element_by_css_selector("[name='login']").click() |
| jQuery | $("[name='login']").eq(0).trigger('click') | |
| 原生java_script | var el=document.querySelector("[name='login']"); el.click(); | |
| 复选框是否被选中 | webdriver | driver.find_element_by_css_selector("[name='memberPass']").is_selected() |
| jQuery | $("[name='memberPass']").is(':checked') | |
| 原生java_script | var el=document.querySelector("[name='memberPass']"); el.checked; | |
| 当前页面跳转到新网址 | webdriver | driver.get("https://www.baidu.com/") |
| jQuery | window.location.href='https://www.baidu.com'; | |
| 原生java_script | 同jQuery | |
| 在新窗口中打开网址 | webdriver | 无 |
| jQuery | window.open("https://www.jd.com/"); | |
| 原生java_script | 同jQuery |
webdriver与JS操作浏览器元素的更多相关文章
- Selenium with Python 005 - 调用js操作页面元素
WebDriver提供了execute_script()方法来执行JavaScript方法,格式如 driver.execute_script(script,*args) 执行js一般有两种场景,一是 ...
- java selenium webdriver处理JS操作窗口滚动条
未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.open ...
- F12修改html进行本地js操作页面元素
F12修改html进行本地js操作页面元素
- Js操作DOM元素及获取浏览器高宽
在JavaScript中,经常会来获取Document文档元素,是 HTML 文档对象模型的英文缩写,Document Object Model for HTML,是基于浏览器编程,HTML DOM ...
- Python selenium webdriver设置js操作页面滚动条
js2 = "window.scrollTo(0,0);" #括号中为坐标 当不知道需要的滚动的坐标大小时: weizhi2 = driver.find_element_by_id ...
- JS操作iframe元素
1. demo1.html页面中有个iframe元素,iframe元素的src是iframe1.html,怎么在demo1.html页面中操作iframe1.html页面 答曰:demo1.html ...
- js操作数组元素
一, 删除数组指定的某个元素 首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) ...
- WebDriver API——延时操作及元素等待
在自动化测试过程当中,受网络.测试设备等诸多因素的影响,我们经常需要在自动化测试脚本中添加一些延时来更好的定位元素来进行一系列的操作. 一般有这么几种方式: 1.implicitlyWait.识别对象 ...
- JS操作DOM元素属性和方法
Dom元素基本操作方法API,先记录下,方便以后使用. W3C DOM和JavaScript很容易混淆不清.DOM是面向HTML和XML文档的API,为文档提供了结构化表示,并定义了如何通过脚本来访 ...
随机推荐
- redhat 用yum安装的apache、mysql一般默认安装在哪个目录下?
使用yum安装成功后,使用rpm -qa | grep httpd和rpm -qa | grep mysql查看是否安装成功然后使用rpm -ql httpd和rpm -ql mysql查看安装文件都 ...
- 【Excle数据透视表】如何禁用数据透视表的总计行/列
如上图:有行合计也有列合计.现在我们需要将行列合计都去除,如何操作呢? 解决办法一: 数据透视表区域任意单元格→数据透视表工具→设计→布局→总计→对行和列禁用 解决办法二: 数据透视表区域任意单元格→ ...
- JavaScript 屏蔽退格键
document.onkeydown = function(){//屏蔽Backspace键 if (event.keyCode==8){ event.keyCode=0; event.returnV ...
- mongo 增
mongodb存储的是文档,文档是json格式的对象,我们的增删改查,都要传输json对象 json是一个对象,js里有数组这个概念,只需要把多个对象放到一个数组里,即可 use test //首先选 ...
- 禁止右键,Ctrl+A,Ctrl+C,Ctrl+V来禁止复制内容,IE网页另存可禁止,但对火狐浏览器没有用的
禁止右键,Ctrl+A,Ctrl+C,Ctrl+V来禁止复制内容,IE网页另存可禁止,但对火狐浏览器没有用的. 代码如下:(开发了左键选择,方便阅读)<!DOCTYPE HTML PUBLIC ...
- C# DataTable 转 List(大家进来讨论讨论)
C# DataTable 转 List 方法,网上有好多,之前也收集了,感觉这个也不错,重要是自己要领会这里面的代码含义. 接不来我就把代码贴出来分享一下,大家觉得如果不好,请留言我,我来改进. us ...
- Android下的ActionBar
1 http://blog.csdn.net/lilu_leo/article/details/7674904 2 http://blog.csdn.net/eclipsexys/article/de ...
- JS 手势长按代码
同时支持长按和点击事件,无依赖版 <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- Away3D引擎学习笔记(二)CameraController相机控制的应用
cameraController---相机控制器 这里针对Away3D里面封装的CameraController的区别和使用做些简单介绍.相机控制器的设计思路比较清晰,所以难点东西不多.使用方面附上源 ...
- hbase和mapreduce开发 WordCount
代码: /** * hello world by world 测试数据 * @author a * */ public class DefinedMapper extends Mapper<Lo ...