【selenium學習筆記】webdriver進行頁面元素定位
阿新 • • 發佈:2018-01-20
path chrome ring .net 核心 簡單 tail 查看 data-
有的時候,需要根據上級目錄的屬性來定位當前元素: [python] view plain copy
【selenium學習筆記】webdriver進行頁面元素定位
進行Web頁面自動化測試,對頁面上的元素進行定位和操作是核心。而操作又是以定位為前提的,因此,對頁面元素的定位是進行自動化測試的基礎。
頁面上的元素就像人一樣,有各種屬性,比如元素名字,元素id,元素屬性(class屬性,name屬性)等等。webdriver就是利用元素的這些屬性來進行定位的。
可以用於定位的常用的元素屬性:
- id
- name
- class name
- tag name
- link text
- partial link text
- xpath
- css selector
- driver.find_element_by_name()——最常用,簡單
- driver.find_element_by_id()——最常用,簡單
- driver.find_element_by_class_name()
- driver.find_element_by_tag_name()——最不靠譜
- driver.find_element_by_link_text()——定位文字連接好用
- driver.find_element_by_partial_link_text()——定位文字連接好用
- driver.find_element_by_xpath()——最靈活,萬能
- driver.find_element_by_css_selector()
- driver.find_elements_by_name()
- driver.find_elements_by_id()
- driver.find_elements_by_class_name()
- driver.find_elements_by_tag_name()
- driver.find_elements_by_link_text()
- driver.find_elements_by_partial_link_text()
- driver.find_elements_by_xpath()
- driver.find_elements_by_css_selector()
- Friebug
- Chrome開發者工具(F12)
- id 和name 定位
- driver.find_element_by_id(‘kw‘)
- driver.find_element_by_name(‘tj_trnews‘)
- class name和tag name定位
- driver.find_element_by_class_name("s_ipt")
- link text 與partial link text 定位
- find_element_by_link_text("新聞")
- find_element_by_link_text("貼吧")
- find_element_by_link_text("新")
- find_element_by_link_text("貼")
- XPath 定位
- <pre name="code" class="python">driver.find_element_by_xpath("//*[@id=‘kw‘]").click()
- driver.find_element_by_xpath("//input[@id=‘kw‘]").click()
有的時候,需要根據上級目錄的屬性來定位當前元素: [python] view plain copy
- find_element_by_xpath("//span[@id=’input-container’]/input") #通過上一級目錄的id 屬性定位
- find_element_by_xpath("//div[@id=’hd’]/form/span/input") #通過上三級目錄的id 屬性定位
- find_element_by_xpath("//div[@name=’q’]/form/span/input")#通過上三級目錄的name 屬性定位
- CSS定位
- 關於自動化的定位問題
【selenium學習筆記】webdriver進行頁面元素定位