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" ...
随机推荐
- C# 声明基于角色的安全性
using System;using System.Collections.Generic;using System.Linq;using System.Security;using System.S ...
- VISTA 与输入法程式介面
原文:VISTA 与输入法程式介面 VISTA 与输入法程式介面 文/黄忠成 近日,我所兼职顾问的公司开始将旧有的Win32 程式及新开发的.NET 应用程式移转到VISTA 系 ...
- WPF媒体资源和图片资源寻址方式的杂谈
WPF提供一个封装和存取资源(resource)的机制,我们可将资源建立在应用程序的不同范围上.WPF中,资源定义的位置决定了该资源的可用范围.资源可以定义在如下范围中: (1)控件级:此时,资源只能 ...
- WPF——TargetNullValue(如何在绑定空值显示默认字符)
原文:WPF--TargetNullValue(如何在绑定空值显示默认字符) 说明:在数据绑定时,如果有些字段为空值,那么在数据绑定时可以用默认值来显示为空的字段. </Grid> { L ...
- 修复VirtualBox "This kernel requires the following features not present on the CPU: pae Unable to boot – please use a kernel appropriate for your CPU"(安装深度Linux的时候就需要)
异常处理汇总-开发工具 http://www.cnblogs.com/dunitian/p/4522988.html 修复VirtualBox "This kernel requires ...
- 卸载win10内置windows app的方法
原文:卸载win10内置windows app的方法 2015年,微软推出了windows10操作系统,其以漂亮的界面.良好的操作方式.方便的推送升级迅速获得了好多人的好评,因此,好多同学都换了win ...
- 【Qt】一劳永逸解决UAC问题(修改mkspecs\win32-msvc2012\qmake.conf)
如果你的程序跑在一个开启了UAC保护的系统中,而你的程序又没有"盾牌"的话,程序总是会受到各种阻挠的,比如读写文件,写注册表等. 有了"盾牌"的话就不会出现一些 ...
- windows 下 php 实现在线预览附件(pdf)
(写的有点啰嗦,具体的实现方法只是粗体和代码就够了) 给市场部门用dede做个cms,需要附件在线查看.公司有个系统(就叫develop_cms吧)是已经实现的,本以为很容易,不过是下一个插件然后把附 ...
- 关于防范csrf攻击基于token鉴权
在web开发中,之前都使用cookie + session方式来实现身份认证鉴权.但是现在前后端分离,以及终端有可能不支持cookie的情况下,一般都采用token方式.现在系统设计思路如下: 服务端 ...
- 爬取虎扑NBA首页主干道推荐贴的一只小爬虫,日常爬不冷笑话解闷
虎扑是广大jrs的家园,步行街是这个家园里最繁华的地段.据称广大jrs平均学历985,步行街街薪30w起步. 大学时经舍友安利,开始了解虎扑,主要是看看NBA的一些资讯. 偶尔也上上这个破街,看看jr ...