1. 程式人生 > >Selenium+Python之八種元素定位方法

Selenium+Python之八種元素定位方法

如有疑問,可以留言或私信問我喲~

一、id定位

driver.find_element_by_id("txtUaserName").send_keys("容音@lily")

二、name定位

driver.find_element_by_name("username").send_keys("容音@lily")

三、class定位

driver.find_element_by_class_name("")

四、tag定位

driver.find_element_by_tag_name("input")

五、link定位

driver.find_element_by_link_text("忘記密碼").click()

六、partial link定位

driver.find_element_by_partial_link_text("忘記").click()

七、XPath定位

1、絕對路徑定位

獲取絕對路徑的方法:

第一步:按F12

第二步:Ctrl+Shift+C,點選要定位的元素

第三步:在程式碼區域右擊,選擇Copy-CopyXpath

driver.find_element_by_xpath("/html/body/div/div[2]/div[1]/div[3]/div/button").click()

2、利用元素屬性定位

driver.find_element_by_xpath("//input[@id='txtUaserName']").send_keys("容音@lily")

#Xpath元素屬性定位

driver.find_element_by_xpath("//input[@type='button']").click()

//表示當前頁面某個目錄下,input表示定位元素的標籤名, [@id='txtUaserName']表示當前元素的ID值等於txtUaserName'

3、層級與屬性結合

如果元素屬性沒有可利用的屬性值,則可以查詢上一級屬性

#xpath層級與屬性結合

driver.find_element_by_xpath("//p[@class='ng-scope']/input").send_keys("容音@lily")

4、使用邏輯運算子

使用邏輯運算子連線多個屬性來查詢元素

driver.find_element_by_xpath("//input[@id='txtUaserName'and @name='username']").send_keys("容音@lily")

八、CSS定位

class屬性定位

id屬性定位