UI自動化測試-web元素選擇

熊孩子的部落格發表於2020-12-06

web元素選擇

from selenium import webdriver
driver = webdriver.Chrome()

常用的查詢元素的方式:

  • driver.find_element_by_id():根據id屬性定位元素
  • driver.find_element_by_name() : 根據name屬性定位元素
  • driver.find_element_by_class_name():根據class屬性定位元素
  • driver.find_element_by_tag_name():根據標籤名稱定位元素
  • driver.find_element_by_link_text():根據標籤中的超連結文字定位元素
  • driver.find_element_by_partial_link_text():根據標籤中的超連結部分文字定位元素
  • driver.find_element_by_css_selector():根據css屬性定位元素
  • driver.find_element_by_xpath():根據xpath定位元素

根據百度首頁為例
在這裡插入圖片描述

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')

#定位百度搜尋框(1)
driver.find_element_by_id('kw')
driver.find_element_by_name('wd')
driver.find_element_by_class_name('s_ipt')

#定位百度一下按鈕(2)
driver.find_element_by_css_selector('.bg .s_btn')
driver.find_element_by_xpath("//input[@type='submit']")

#定位首頁面上的“新聞”(3)
driver.find_element_by_link_text('新聞')
driver.find_element_by_partial_link_text('聞')

根據css選擇器定位元素
舉例:查詢到其中的“牛肉”

<div id="food">
	<span class="vegetable">黃瓜</span>
	<span class="meet">牛肉</span>
</div>
driver.find_element_by_css_selector("#food span .meet")
  • div,p:選擇所有的div和p元素
  • div p:選擇div內部的所有p元素
  • div>p:選擇父節點是div的所有p元素
  • div+p:選擇緊鄰div的p元素(兄弟節點關係)
  • div~p:選擇div下的p元素 不需要相鄰(兄弟節點關係)

相關文章