Web自动化测试 三 ----- DOM对象和元素查找
一、DOM对象
DOM(Document Object Model文档对象模型):将HTML的各种元素映射为JS可访问的对象。
HTML文档中的所有内容都是节点,这些东西在HTML中我们称为元素。
- 整个文档是一个文档节点
- 每个HTML元素是元素节点
- HTML元素的文本是文本节点
- 每个HTML属性时属性节点
- 注释是注释节点
DOM时间监听
类似于python中的while循环机制
事件 |
描述 |
onclick | 用户点击HTML元素 |
onmouseover | 用户在一个HTML元素上移动鼠标 |
onmouseout | 用户从一个HTML元素开移动鼠标 |
onkeydown | 用户按下键盘按键 |
onload | 浏览器已完成页面的加载 |
onchange | HTML元素改变 |
二、页面元素的操作
document表示整个HTML页面,window表示HTML页面上面的整个部分(窗口部门)。
1、元素查找
- e = document.getElementById(“kw”)
- e = document.getElementsByClassName
- document.getElementsByName
- document.getElementsByTagName
说明:e是一个对象
获取文本e.textContent
e.outerhtml 对应HTML的双引号的字符串,可以修改HTML
通过ByID查找获取的是单个元素,后三者获取的值是列表(获取元素用e[0]方式获取),因为ID是唯一的,其他的是有可能不唯一的。
CSS查找:
- document.querySelector(“#kw”)#表示ID 获取的是单个元素
- document.querySelectorAll(“#kw”) 获取的也是一个列表
2、元素获取
- document.title
- document.URL
- e = document.getElementById(“kw”)
- e.herf
- e.maxLength
- e.getAttribute("e.maxLength")
3、元素修改
- a = document.getElementByTagName('html')
- b = a[0]
- b.innerHTML = 'hello' 改变整个页面
- c = document.getElementById(“kw”)
- c.id = 'qqq'
- c.setAttribute('id', 'hello')
修改中用的做多的是修改disable,readonly和input里的value值
Web自动化测试 三 ----- DOM对象和元素查找的更多相关文章
- web自动化:DOM对象
一. 什么是DOM对象 定义:DOM(Document Object Mode,文档对象模型)是一套web标准,定义了访问HTML文档的一套属性.方法和事件 本质:网页与脚本语言沟通的桥梁.脚本语言通 ...
- jquery的常用操作(操作html页面的Dom对象的元素)
一:页面加载完成时,会执行jquery的方法(不需要等待图片加载完成,只要dom结构加载完成,就执行该方法) //第一种写法: $(document).ready(function() { // 执行 ...
- web自动化测试---xpath方式定位页面元素
在实际应用中,如果存在多个相同元素,包括属性相同时,一般会选用这种方式,当然如果定位属性唯一的话,也是可以使用的,不过这种方式没有像id,tag,name等容易理解,下面讲下xpath定位元素的方法 ...
- 高程三 DOM对象
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- Python+Selenium - Web自动化测试(二):元素定位
前言 前面已经把环境搭建好了,现在开始使用 Selenium 中的 Webdriver 框架编写自动化代码脚本,我们常见的在浏览器中的操作都会有相对应的类方法,这些方法需要定位才能操作元素,不同网页的 ...
- web自动化测试,定位不到元素的原因及解决方案(持续更新中2018年9月29日)
主要讲自己在实战中遇到的坑: 1.动态id定位不到元素 分析原因:每次打开页面,ID都会变化.用ID去找元素,每次刷新页面ID都会发生变化. 解决方案:推荐使用xpath的相对路径方法或者cssSel ...
- 转-web自动化测试,定位不到元素的原因及解决方案
1.动态id定位不到元素 分析原因:每次打开页面,ID都会变化.用ID去找元素,每次刷新页面ID都会发生变化. 解决方案:推荐使用xpath的相对路径方法或者cssSelector查找到该元素. 2. ...
- web自动化测试---css方式定位页面元素
css方式定位的方法也有很多,相较于xpath更灵活一点,下面就介绍下使用方法(以百度输入框为例) 1.通过tag来定位,可以写成如下: driver.find_element_by_css_sele ...
- DOM对象增删元素
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
随机推荐
- jquery 相对元素
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- WPF 为资源字典 添加事件响应的后台类
原文:WPF 为资源字典 添加事件响应的后台类 前言,有许多同学在写WPF程序时在资源字典里加入了其它控件,但又想写事件来控制这个控件,但是资源字典没有CS文件,不像窗体XAML还有一个后台的CS文件 ...
- sqlserver检查sql执行时间
set statistics profile onset statistics io onset statistics time onGO select * from mytable; goset s ...
- Android 命令设置获取、IP地址、网关、dns
设置ip root@android:/ # ifconfig eth0 192.168.0.173 netmask 255.255.255.0 ifconfig eth0 192.168.0.173 ...
- 关于VS编译DevExpress默认产生几个多余的语言包的问题解决
原文 关于VS编译DevExpress默认产生几个多余的语言包的问题解决 VS15开始对于非系统的Dll都会默认复制到本地,即bin\debug下面,复制dll到本地好处在于发布的时候不用再去寻找相关 ...
- 16.Nov Working Note
05 今天也很忙,版本发布在即,但之前的日志系统发现了bug:在中文模式下python读写抛出异常,通过转化为utf8除去异常,上传到服务器还有乱码. 另外,就是多组件安装时,多线程发生冲突.因为每一 ...
- redis的简介和使用
简介 redis(Remote Dictionary Server)是一种Nosql技术,它是一个开源的高级kv存储和数据结构存储系统,它经常被拿来和Memcached相比较,但是Memcached不 ...
- scons编译mongodb(vs2008版本)遇到的问题总结
OS:win7 64 boost:1.49 mongodb:2.4.6(推荐64位版本,当然如果你系统是32位的,只能使用32的版本了) IDE:vs2008(2010的同学请跳过吧,因为官网提供的就 ...
- C函数实现返回多个值的方法
C语言中,一个函数最多只能实现一个返回值. int func (int b) { int a=5; if (a>b) return a; else return b; return 0; } ...
- UbuntuServer添加软件源列表
要使用Ubuntu前,我们一般都要先做好工具!特别是对于安装这一块~~~~ 1.配置前,先做个配置文件的备份: $sudo cp /etc/apt/sources.list /etc/apt/sour ...