selenium常用加載web頁面元素----webElement(上篇)

元素選擇策略

在 WebDriver 中有 8 種不同的內置元素定位策略:

class name

class 名稱

find_element_by_name

find_elements_by_name

定位類的名稱中包含搜索值的元素(不允許使用複合類名)
css selector

css 選擇器

find_element_by_css_selector

find_elements_by_css_selector

定位與 CSS 選擇器匹配的元素
id

定位 id 屬性與搜索值匹配的元素

find_element_by_id

find_elements_by_id 

定位 id 屬性與搜索值匹配的元素
name

定位 name 屬性與搜索值匹配的元素(很少用)
find_element_by_tag_name

find_elements_by_tag_name

定位 name 屬性與搜索值匹配的元素
link text 鏈接文本 定位其可視文本與搜索值匹配的錨元素
partial link text 部分鏈接文本 定位其可視文本與搜索值匹配的錨元素
tag name 標籤名稱 定位標籤名稱與搜索值匹配的元素
xpath xpath 定位與 XPath 表達式匹配的元素
  • find_element_by_name 查找name值所在web元素 和 find_elements_by_name查找name值所在所有web元素

  • find_element_by_id 查找id標籤的web頁面元素 和  find_elements_by_id 查找id標籤的所有的web頁面元素

# 查找頁面中id="u"的所有元素
ids = driver.find_elements_by_id("u")
for id in ids:
    print(type(id))
  • find_element_by_css_selector 和   find_elements_by_css_selector

find_element_by_css_selector:首先在 DOM 中搜索 id 爲“form”的元素,然後在較小範圍的上下文中搜索“su”

  • find_element_by_tag_name  和 find_elements_by_tag_name

 tag定位:頁面html文檔下的各種標籤,find_element_by_tag_name("input");tag往往用來定義一類功能,所以通過tag識別某個元素的概率很低。任意打開一個頁面,都會發現大量的<div>、<input>、<a>等tag,所以tag name定位很少用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章