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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM