获取元素属性\爬取页面源码\常用断言,最终目的都是为了验证我们实际结果是否等于预期结果

目录

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自动化之特殊处理四(获取元素属性\爬取页面源码\常用断言)的更多相关文章

  1. appium+python自动化:获取元素属性get_attribute

    使用get_attribute()获取元素属性,括号里应该填写什么? 查看appium源码 如果是获取resource-id,填写resourceId self.driver.find_element ...

  2. JS(原生js和jq方式)获取元素属性(自定义属性),删除属性(自定义属性)

    JS(原生js和jq方式)获取元素属性(自定义属性),删除属性(自定义属性) 以下内容: 一.获取元素的属性 二.设置元素的属性 三.删除元素的属性 一.获取元素的属性 1-原生JS 获取属性 .ge ...

  3. JQ方法实用案例///鼠标移动到div和修改ipt中弹窗、CSS鼠标变小手、JQ获取元素属性、JQ选择器

    今天学习了jQ,jQ对js的帮助很大,菜鸟教程上也有属性.可以查看 js 和 jquery主要的区别 在 dom    想用jquery  必须先引入(顺序问题)        先css 再js:   ...

  4. delphi RTTI 四 获取类属性列表

    delphi RTTI 四 获取类属性列表 GetPropList(btn1.ClassInfo, tkAny, PropList) PropCount := GetTypeData(btn1.Cla ...

  5. JS中获取元素属性的逆天大法

    给大家聊下js中获取元素属性的逆天大法,胆小慎入,切记切记!!! innerHTML.outerHTML.innerText .outerText.value.text().html(),val() ...

  6. Selenium2+python自动化37-爬页面源码(page_source)

    前言 有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息.selenium的page_source方法可以获取到页面源码. selenium的page_sour ...

  7. Selenium2+python自动化37-爬页面源码(page_source)【转载】

    前言 有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息.selenium的page_source方法可以获取到页面源码. selenium的page_sour ...

  8. 2)JS动态生成HTML元素的爬取

    2)JS动态生成HTML元素的爬取 import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.W ...

  9. Python3+Selenium3+webdriver学习笔记10(元素属性、页面源码)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记10(元素属性.页面源码)'''from selenium i ...

随机推荐

  1. pip和pip3的区别

    安装了python3之后,会有pip3 1. 使用pip install XXX 新安装的库会放在这个目录下面 python2.7/site-packages 2. 使用pip3 install XX ...

  2. 神经网络之:S型神经元

    1.S 型神经元和感知器类似,但是被修改为权重和偏置的微小改动只引起输出的微小变化 2.S型神经元结构: S型函数: 带有x1,x2,........,权重w1,w2.....,和偏置b的S型神经元的 ...

  3. Ionic创建混合App(二)

    ionic 2 启动应用进入欢迎引导页 1.首先,使用CLI命令,创建引导页面 ionic g page welcome 2.需改welcome.html模板文件 <ion-slides pag ...

  4. AFNetworking2.0源码解析<一>

    本篇先看看AFURLConnectionOperation,AFURLConnectionOperation继承自NSOperation,是一个封装好的任务单元,在这里构建了NSURLConnecti ...

  5. Tengine 补充

    Tengine 补充 开机启动 chkconfig --list chkconfig --add nginx chkconfig nginx on 时间问题 service ntpd status 虚 ...

  6. MixConv

    深度分离卷积一般使用的是3*3的卷积核,这篇论文在深度分离卷积时使用了多种卷积核,并验证了其有效性 1.大的卷积核能提高模型的准确性,但也不是越大越好.如下,k=9时,精度逐渐降低 2. mixCon ...

  7. New Machine Learning Server for Deep Learning in Nuke(翻译)

    最近一直在开发Orchestra Pipeline System,歇两天翻译点文章换换气.这篇文章是无意间看到的,自己从2015年就开始关注机器学习在视效领域的应用了,也曾利用碎片时间做过一些算法移植 ...

  8. lambda匿名函数sorted排序函数filter过滤函数map映射函数

    lambda函数:表示匿名函数,不需要def来声明,一句话就能搞定. 语法:函数名=lamda 参数:返回值 求10的10次方 f=lambda n:n**n print(f(10)) 注意: 函数名 ...

  9. man lspci

    lspci(8)                      Linux PCI Utilities                     lspci(8) NAME       lspci - 列出 ...

  10. python-jsonpath、findall返回值提取

    findall import re """ "d"表示取数字0-9, "D"表示不要数字, "w"在正则里面代 ...