python ui自動化之元素定位和常用操作


做ui自動化的最基礎的就是頁面元素定位了,如果連頁面元素都定位不到,自動化從何談起呢?接下來我們就看看頁面元素定位的方法吧!(這里就用百度頁面來進行演示)

 

一、最通用的幾種定位方式:

1.通過id定位

 

 

 

 

 

 1 driver.find_element_by_id('su') 

 

2.通過name定位

 

 

 

driver.find_element_by_name('mp')

 

3.通過class屬性

 

 

 

driver.find_element_by_class_name('s_ipt')

 

4.通過文本鏈接

 

 

 

driver.find_element_by_link_text('新聞')

 

以上的方法都是最基本的方法,在實際中用到的並不多。接下來的兩個方法才是重點!!!

 

一、xpath方法

1.通過絕對路徑(但是這個方法很不可取,不僅會導致程序運行很緩慢,也會顯得很low,很不美觀,如果路徑有幾行依然復制幾行嗎?顯然有問題)

driver.find_element_by_xpath('/html/body/div[1]/div[1]/div/div[1]/div/form/span[1]/input')

2.通過相對路徑

 

 

 以圖上定位這個form表單為例

 

方法一:

driver.find_element_by_xpath('//*[@id="head"]/div/div/div/form')

上面的寫法可以理解為,通過xpath尋找,任意(*代表)id屬性為’head‘下面的div/div/div下面的form表單

 

方法二:

driver.find_element_by_xpath('//*[@class="s-form"]/div/form')

上面的寫法可以理解為,通過xpath尋找,任意(*代表)id屬性為’s-form‘下面的/div下面的form表單

 

方法三;

driver.find_element_by_xpath('//form[@id="form"]')

上面的寫法可以理解為,通過xpath尋找,id為form的form表單

 

xpath是萬能的,沒有xpath定不到的元素,還有其他很多地方方法,具體場景具體方法,這里就不一一再舉例了....(比如通過文字等等)

 

一、css方法

還是拿這個圖片來舉例吧

 

方法一、單一屬性定位

driver.find_elements_by_css_selector('form')

 

方法二、id定位

driver.find_elements_by_css_selector('form')

 

方法三、class定位

driver.find_elements_by_css_selector('fm')

 

方法四、其他屬性定位

driver.find_elements_by_css_selector('[name="f"]')

 

方法五、組合屬性定位

driver.find_elements_by_css_selector('form#form') # 屬性加上id
driver.find_elements_by_css_selector('form.s_ipt') # 屬性加上class
driver.find_elements_by_css_selector('form[name="f"]') # 屬性加上其他屬性

 

以上是css最常用的定位方法,還有很多就不一一舉例了,具體場景具體使用....

 

 

常用操作

click() 點擊

send_keys()  輸入內容


免責聲明!

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



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