Selenium選擇web元素

獲取html片斷能夠用來作什麼?css

     能夠用來分割,也能夠分析HTML文檔html

beautifulsoup用法?html5

     安裝beautifulsoup庫: pip install beautifulsoup4web

     由於bs裏面缺省的庫對html的兼容性不夠,還要安裝一個庫來實現: pip install html5libhtm

下面附上bs1.html代碼截圖:對象

    

 

經過代碼實現:blog

# BS操做對象是字符串,假設要對某個html文本做分析,就要先將文本的字符串讀出來。ip

with open('bs.html',encoding='utf8') as f:ci

      html_doc = f.read()element

# 導入相關庫,html5lib不用導入,BS會自動引用

from bs4 import BeautifulSoup

# 指定用HTML5lib來解析文檔

soup = BeautifulSoup(html.doc, 'html5lib')   # 第一個參數是要解析的文本,第二個參數指定是用htmllib庫來解析的

# print(soup.title)   # 打印出第一個title的內容

# print(soup.find('title'))

# print(soup.title.name)  # 獲取標籤名

 

# 獲取tag(標籤)文本內容

# print(soup.title.string)

# 也能夠:

# print(soup.title.get_text())

 

# 若是要獲取tag的父節點tag

# print(soup.title.parent)

# print(soup.title.parent.name)

 

# 若是要獲取元素的屬性值

# print(soup.div['id'])

# print(soup.p['style'])

 

# print(soup.a)  只找到第一個標籤

# print(soup.find_all('a'))  找到全部的a標籤

# print(soup.find_all('a')[1])  找到第二個a標籤  根據下標

 

# print(soup.find('a', id='link1'))   根據id屬性來查找相應的a標籤

# print(soup.find('a', href='http://example.com/lacie'))   # 根據超連接來查找相應的a標籤

 

webdriver提供的八種基本元素定位:

    經過id屬性選擇元素:find_element_by_id()

    經過name屬性選擇元素:find_element_by_name()

    經過classs屬性選擇元素:find_element_by_class_name()

    經過tag(標籤)屬性選擇元素:find_element_by_tag_name()

    經過link選擇元素:find_element_by_link_text()

    經過partial_link(模糊匹配的方式)定位:find_element_by_partial_link_text()

    經過xpath選擇元素:find_element_by_xpath()

    經過css選擇元素:find_element_by_css_selector()

相關文章
相關標籤/搜索