UI自动化之特殊处理四(获取元素属性\爬取页面源码\常用断言)
获取元素属性\爬取页面源码\常用断言,最终目的都是为了验证我们实际结果是否等于预期结果
目录
1、获取元素属性
2、爬取页面源码
3、常用断言
1、获取元素属性
获取title:driver.title()
获取元素文本:driver.find_XX().text
获取元素标签:driver.find_XX().tag_name
获取元素的其他属性的值:driver.find_XX().get_attribute("class") 获取class属性的值
获取文本框输入的值:driver.find_XX().get_attribute("value") 获取文本框输入的值
获取浏览器的名称:driver.name
2、爬取页面源码
爬取页面源码(driver)
driver.page_source 返回页面源码
1、导入re模块
2、"非贪婪匹配,re.S('.'匹配字符,包括换行符)"
3、findall 方法返回的是一个 list 集合
# coding:utf-8 from selenium import webdriver
import re
driver = webdriver.Firefox()
driver.get("http://xx.com/")
page = driver.page_source
url_list = re.findall('href=\"(.*?)\"', page, re.S)
url_all = []
for url in url_list:
if "http" in url:
url_all.append(url)
爬取页面(requests) 导入soup来解析
用requests里的get方法打开博客首页,r.content返回整个html内容,返回类型为string,用html.parser解析html
# coding:utf-8
from bs4 import BeautifulSoup
import requests r = requests.get("http://www.cnblogs.com/yoyoketang/") blog = r.content
soup = BeautifulSoup(blog, "html.parser") times = soup.find_all(class_="xx")
for i in times:
print i.a.string # 获取a标签的文本 title = soup.find_all(class_="postTitle")
for i in title:
print i.a.string
3、常用断言
assertEqual(self, first, second, msg=None)
--判断两个参数相等:first == second
assertNotEqual(self, first, second, msg=None)
--判断两个参数不相等:first != second
assertIn(self, member, container, msg=None)
--判断是字符串是否包含:member in container
assertNotIn(self, member, container, msg=None)
--判断是字符串是否不包含:member not in container
assertTrue(self, expr, msg=None)
--判断是否为真:expr is True
assertFalse(self, expr, msg=None)
--判断是否为假:expr is False
assertIsNone(self, obj, msg=None)
--判断是否为 None:obj is None
assertIsNotNone(self, obj, msg=None)
--判断是否不为 None:obj is not None
UI自动化之特殊处理四(获取元素属性\爬取页面源码\常用断言)的更多相关文章
- appium+python自动化:获取元素属性get_attribute
使用get_attribute()获取元素属性,括号里应该填写什么? 查看appium源码 如果是获取resource-id,填写resourceId self.driver.find_element ...
- JS(原生js和jq方式)获取元素属性(自定义属性),删除属性(自定义属性)
JS(原生js和jq方式)获取元素属性(自定义属性),删除属性(自定义属性) 以下内容: 一.获取元素的属性 二.设置元素的属性 三.删除元素的属性 一.获取元素的属性 1-原生JS 获取属性 .ge ...
- JQ方法实用案例///鼠标移动到div和修改ipt中弹窗、CSS鼠标变小手、JQ获取元素属性、JQ选择器
今天学习了jQ,jQ对js的帮助很大,菜鸟教程上也有属性.可以查看 js 和 jquery主要的区别 在 dom 想用jquery 必须先引入(顺序问题) 先css 再js: ...
- delphi RTTI 四 获取类属性列表
delphi RTTI 四 获取类属性列表 GetPropList(btn1.ClassInfo, tkAny, PropList) PropCount := GetTypeData(btn1.Cla ...
- JS中获取元素属性的逆天大法
给大家聊下js中获取元素属性的逆天大法,胆小慎入,切记切记!!! innerHTML.outerHTML.innerText .outerText.value.text().html(),val() ...
- Selenium2+python自动化37-爬页面源码(page_source)
前言 有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息.selenium的page_source方法可以获取到页面源码. selenium的page_sour ...
- Selenium2+python自动化37-爬页面源码(page_source)【转载】
前言 有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息.selenium的page_source方法可以获取到页面源码. selenium的page_sour ...
- 2)JS动态生成HTML元素的爬取
2)JS动态生成HTML元素的爬取 import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.W ...
- Python3+Selenium3+webdriver学习笔记10(元素属性、页面源码)
#!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记10(元素属性.页面源码)'''from selenium i ...
随机推荐
- winform 自定义控件(高手)
高手推荐:https://www.cnblogs.com/bfyx/p/11364884.html c#Winform自定义控件-目录 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件 ...
- 3.css3中多个背景图片的用法
(background-clip裁剪,background-position位置,background-origin定位,background-repeat是否重复) <!DOCTYPE htm ...
- Python 通过dmidecode获取Linux服务器硬件信息
通过 dmidecode 命令可以获取到 Linux 系统的包括 BIOS. CPU.内存等系统的硬件信息,这里使用 python 代码来通过调用 dmidecode 命令来获取 Linux 必要的系 ...
- C# Base64加解密
using System; using System.Collections.Generic; using System.Text; using System.Security.Cryptograph ...
- 洛谷P4003 [国家集训队2017]无限之环 网络流 最小费用最大流
题意简述 有一个\(n\times m\)棋盘,棋盘上每个格子上有一个水管.水管共有\(16\)种,用一个\(4\)位二进制数来表示当前水管向上.右.下.左有个接口.你可以旋转除了\((0101)_2 ...
- Java内存模型(JMM)的可见性
JMM(Java Memory Model)内存模型之可见性 JMM是Java内存模型的缩写,本身是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字 ...
- Ldap 从入门到放弃(一)
OpenLDAP 2.4版本 快速入门 本文内容是自己通过官网文档.网络和相关书籍学习和理解并整理成文档,其中有错误或者疑问请在文章下方留言. 一.Introduction to OpenLDAP D ...
- springboot自定义异常数据
一.源码分析 自定义异常数据之前我们先看看一下源码 上述代码意思是如果你没有提供就使用springboot提供的类 这是springboot提供的异常属性类,我们想要自 ...
- SonarQube规则之bug类型
1.".equals()" should not be used to test the values of "Atomic" classes.bug 主要不要 ...
- vs 2010创建Windows服务定时timer程序
vs 2010创建Windows服务定时timer程序: 版权声明:本文为搜集借鉴各类文章的原创文章,转载请注明出处: http://www.cnblogs.com/2186009311CFF/p/ ...