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,为文档提供了结构化表示,并定义了如何通过脚本来访 ...
随机推荐
- linux 设置时间
1.图形界面里面点击右上角的 “时间” 2.设置,edit 找到china G8区 date发现还没有生效 3.reboot 重启才生效了
- 点击tablecell中的一个按钮,确定cell所在的行
- (void) del:(UIButton *) button { NSLog(@"%s",__FUNCTION__); UITableViewCell * cell = (UI ...
- 压力测试工具集合(ab,webbench,Siege,http_load,Web Application Stress)
压力测试工具集合(ab,webbench,Siege,http_load,Web Application Stress) 1 Apache附带的工具ab ab的全称是ApacheBench,是Apac ...
- Newtonsoft.Json之JArray, JObject, JProperty,JValue
JObject staff = new JObject(); staff.Add(new JProperty("Name", "Jack")); staff.A ...
- (一)spark算子 分为3大类
value类型的算子 处理数据类型为value型的算子(也就是这个算子只处理数据类型为value的数据),可以根据rdd的输入分区与输出分区的关系分为以下几个类型 (1)输入分区与输出分区一对一型 m ...
- SpringMvc入门教程
1.新建demo4 web项目, 导入spring包(使用的是spring4.2) 2.修改WEB-INF下的WEB.XML内容为 <?xml version="1.0" ...
- IP地址加时间戳加3位随机数
工作中经常用到时间戳加上3位随机数获得唯一流水号,下面是代码~ package com.pb.viewer.filename; import java.text.SimpleDateFormat; i ...
- SpringBoot Idea 启动报错 Process finished with exit code 1
问题描述:没有其他任何错误日志,只有Process finished with exit code 1 问题原因:Maven POM.xml问题造成 由于是properties是我直接从其他项目中拷贝 ...
- LeetCode_Minimum Depth of Binary Tree
一.题目 Minimum Depth of Binary Tree My Submissions Given a binary tree, find its minimum depth. The mi ...
- DMP
1.dmp-data mabagement platform数据管理平台 数据赋能,营销智变 2.定义 把分散的第一,第三方异构.多源数据进行整合,然后纳入统一技术平台中,并对这些数据进行标准化和细分 ...