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,为文档提供了结构化表示,并定义了如何通过脚本来访 ...
随机推荐
- scrapy 安装详解
一. Scrapy简介 Scrapy is a fast high-level screen scraping and web crawling framework, used to crawl we ...
- react-native 项目实战 -- 新闻客户端(7) -- 新闻详情页
http://c.3g.163.com/nc/article/BUH64L0J00031H2L/full.html 观察这个地址,BUH64L0J00031H2L 就是每条新闻数据里的postid. ...
- http://www.bootcss.com/p/font-awesome/design.html
http://www.bootcss.com/p/font-awesome/design.html <li class="active"> <div class= ...
- 常见Linux/Unix开发辅助命令什锦
很多零碎命令集锦: 1. 怎样通过命令下载ftp文件 read -s -p "Your passwd: " Passwd; wget --user=YourUserName --p ...
- iOS 多网络请求同步并发
iOS中经常会用到多线程,在多线程中有一个线程组的概念(group),创建多个线程组任务,多组任务都完成之后,就会进入dispatch_group_notify队列中. 同时多线程中还有一个信号量的概 ...
- udp广播和多播
使用UDP协议进行信息的传输之前不需要建立链接, 客户端向服务器发送信息时,客户端只需要给出服务器的ip地址和端口号,可以发送信息.至于服务器端是否存在,是否能够收到该报文,客户端根本不用管. 广播( ...
- 【ubantu】Ubuntu的一些常用快捷键
Ubuntu操作基本快捷键* 打开主菜单 = Alt + F1* 运行 = Alt + F2* 显示桌面 = Ctrl + Alt + d* 最小化当前窗口 = Alt + F9* 最大化当前窗口 = ...
- python函数-------python2.7教程学习【廖雪峰版】(三)
任务: 看完函数这一章 已完成 2017年6月8日16:23:491.函数的作用:写较少的代码实现较多的功能,可以多次被调用.2.可见,借助抽象,我们才能不关心底层的具体计算过程,而直接在更高的 ...
- 使用UIImageView展现来自网络的图片
本文转载至 http://www.cnblogs.com/chivas/archive/2012/05/21/2512324.html UIImageView:可以通过UIImage加载图片赋给UII ...
- Collective Mindsets (medium) (逻辑题)
B - Collective Mindsets (medium) Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I6 ...