一.DOM对象 DOM(Document Object Model文档对象模型):将HTML的各种元素映射为JS可访问的对象.HTML文档中的所有内容都是节点,这些东西在HTML中我们称为元素. 整个文档是一个文档节点 每个HTML元素是元素节点 HTML元素的文本是文本节点 每个HTML属性时属性节点 注释是注释节点 DOM时间监听 类似于python中的while循环机制 事件 描述 onclick  用户点击HTML元素 onmouseover  用户在一个HTML元素上移动鼠标 onmo…
一. 什么是DOM对象 定义:DOM(Document Object Mode,文档对象模型)是一套web标准,定义了访问HTML文档的一套属性.方法和事件 本质:网页与脚本语言沟通的桥梁.脚本语言通过DOM对象来访问html页面,从而改变文档的结构.样式和内容 当浏览器载入HTML文档,它就会成为doument 对象 HTML DOM独立于平台和编程语言,它可被任何编程语言,如Java.JavaScript和VBScript使用 二. DOM对象 1. 在HTML DOM中: 文档对象:整个H…
一:页面加载完成时,会执行jquery的方法(不需要等待图片加载完成,只要dom结构加载完成,就执行该方法) //第一种写法: $(document).ready(function() { // 执行体 }); //第二种写法 $(function() { //执行体 }); 二:用jquery获取dom对象,判断该对象是否有内容的两种方法(有返回true,没有返回false) jqObj.text().trim() var jqObj = $(this); if(jqObj.text().tr…
在实际应用中,如果存在多个相同元素,包括属性相同时,一般会选用这种方式,当然如果定位属性唯一的话,也是可以使用的,不过这种方式没有像id,tag,name等容易理解,下面讲下xpath定位元素的方法 / 从根节点选取 // 从匹配选择的当前节点选择 @ 选取属性 * 匹配任何元素节点 @* 匹配任何属性节点 我们就以百度首页右上一排的元素来定位,一般来说通过find_element_by_link来定位,这里我们只介绍xpath来定位的方式 我们查看下原始的百度页面中tag='a',class=…
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Page Title</title> <style> button{ display: inline-block; } <…
前言 前面已经把环境搭建好了,现在开始使用 Selenium 中的 Webdriver 框架编写自动化代码脚本,我们常见的在浏览器中的操作都会有相对应的类方法,这些方法需要定位才能操作元素,不同网页的元素也不同,可以根据自己情况选择使用类方法.下面开始学习元素定位: New一个后缀为.py的Python文件写一段代码,先感受一下代码吧!写完以后Ctrl+Shift+F10运行代码. # -*- coding:utf-8 -*- from selenium import webdriver # 从…
主要讲自己在实战中遇到的坑: 1.动态id定位不到元素 分析原因:每次打开页面,ID都会变化.用ID去找元素,每次刷新页面ID都会发生变化. 解决方案:推荐使用xpath的相对路径方法或者cssSelector查找到该元素. 2.iframe原因定位不到元素 分析原因:你要找的元素在某个框架(frame)里面 解决方案:跳转到该框架里,再查找元素. driver.switchTo().frame("login_frame"); driver.switchTo().frame(drive…
1.动态id定位不到元素 分析原因:每次打开页面,ID都会变化.用ID去找元素,每次刷新页面ID都会发生变化. 解决方案:推荐使用xpath的相对路径方法或者cssSelector查找到该元素. 2.iframe原因定位不到元素 分析原因:你要找的元素在某个框架(frame)里面 解决方案:跳转到该框架里,再查找元素. driver.switchTo().frame("login_frame"); driver.switchTo().frame(driver.findElement(B…
css方式定位的方法也有很多,相较于xpath更灵活一点,下面就介绍下使用方法(以百度输入框为例) 1.通过tag来定位,可以写成如下: driver.find_element_by_css_selector('input').click() 这里要说明的是tag为input的必须唯一才能这么写,否则可以用其他方式定位 2.通过id来定位,可以写成如下: driver.find_element_by_css_selector('#kw').click() id前面加个#即可,很简单,也可以和ta…
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> #div1{ height: 200px; background-color: #84a42b; } </style></head><body><div id=&q…