zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    解决Ubuntu下pycharm无法输入中文的问题
    爬取www.mmjpg.com网站图片,你懂得哦!
    批量查询ip地址归属地
    Opencv源码编译
    使用阿里云安装python模块
    Ansible运维自动化
    Mha-Atlas-MySQL高可用
    SVN
    Tomcat
    DHCP
  • 原文地址:https://www.cnblogs.com/weizhideweilai/p/9642588.html
Copyright © 2011-2022 走看看