Selenium-元素定位與操作
UI的自動化本質就是識別元素,操作元素,而元素的識別就是通過HTML的標簽和屬性,所以對於基本的HTML的只是是必備的
隨著頁面復雜度的提升,加之很多公司的開發也沒有統一規範,這就給識別元素造成了非常大的麻煩,非常的被動
一般要選取唯一標識的元素屬性來進行定位.常用的幾種元素定位方法:
id driver.find_element_by_id("id的屬性值")
Name driver.find_element_by_name("name的屬性值")
class name driver.find_element_by_class_name("class的屬性值")
link text driver.find_element_by_link_text("超級連接的名")
partial link text 同上,只是可以用模糊匹配的方式,截取一種一部分文字來使用
比如,有一個超級連接為"為了學習UI自動化",那麽使用該方法就可以寫為driver.find_element_by_partial_link_text("自動化")
tag name driver.find_element_by_tag_name("標簽名"),比如input,不會用它來定位一個元素,二是常用於一組元素的定位
xpath driver.find_element_by_xpath("xpath路徑") Xpath的定位可以使用火狐下的firepath插件.當一個元素通過上面的方法都無法定位到時,可以嘗試使用xpath
css selector dirver.find_element_by_css_selector("css selector"),比較麻煩,且不容易理解.一般可以通過元素的id\class\標簽的屬性來進行定位(使用xpath比較方便快捷)
規則如下:
#表示屬性,比如#kw
.表示class屬性,比如s._ipt
標簽名直接寫,比如input
Selenium-元素定位與操作