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

目录

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. readline和xreadline的区别

    readline就是直接读取一行 xreadline是生成了一个生成器,遍历的时候才真正生成具体的内容 与range和xrange的区别一样 print range() # 直接创建所有的元素 pri ...

  2. nmbd - 向客户端提供构造在IP之上的NetBIOS名字服务的NetBIOS名字服务器

    总览 SYNOPSIS nmbd [-D] [-F] [-S] [-a] [-i] [-o] [-h] [-V][-d <debug level>] [-H <lmhosts fil ...

  3. C#索引器1 数字作为索引号

    5.索引器   数字作为索引号 public class IndexerClass { private string[] name = new string[2]; public string thi ...

  4. Linux一键安装LNMP环境

    Linux一键安装LNMP环境 官方地址:https://lnmp.org/. 参考安装步骤:https://lnmp.org/install.html. 一键安装可以选择mysql版本.php版本, ...

  5. ascii 八进制

    int main() 4 { 5 char buf[20] = {'\101','\102','\103',0}; 6 printf("%s",buf); 7 return 0; ...

  6. Html5+ 开发APP 后台运行代码

    function backRunning(){ if(plus.os.name == 'Android'){ var main = plus.android.runtimeMainActivity() ...

  7. 一个简单mock-server 解决方案

    參考: 测试利器之Mock server 介紹 moco server - download Mockman - download 各种Mock工具比较 JMockit中文网 MockWebServe ...

  8. APIO2019 题解

    APIO2019 题解 T1 奇怪装置 题目传送门 https://loj.ac/problem/3144 题解 很容易发现,这个东西一定会形成一个环.我们只需要求出环的长度就解决了一切问题. 设环的 ...

  9. idea 2018版最新激活注册方法

    1. 下载破解补丁文件,路径为:http://idea.lanyus.com/jar/JetbrainsCrack-2.7-release-str.jar 2.将补丁放在安装包的/bin路径下,如图中 ...

  10. 借助tcpdump统计http请求

    借助tcpdump统计http请求     这里所说的统计http请求,是指统计QPS(每秒请求数),统计前十条被访问最多的url.一般做这样的统计时,我们经常会使用网站访问日志来统计.当我们来到一个 ...