1:通過元素id屬性定位
driver.find_element_by_id("{}".format("元素id屬性的值"))
2: 通過元素class屬性定位
driver.find_element_by_class_name("{}".format("元素class屬性的值"))
3:通過元素的name屬性定位
driver.find_element_by_name("{}".format("元素name屬性的值"))
4:通過元素的文字內容定位
driver.find_element_by_link_text("{}".format("元素的文字內容"))
5:通過元素的標籤名定位元素
driver.find_element_by_tag_name("{}".format("元素的的標籤名稱"))
6:通過部分元素的文字內容定位元素
driver.find_element_by_partial_link_text("{}".format("元素的部分文字內容"))
7:通過css定位元素標籤
本人因為不用css來定位元素標籤,所以不做介紹,下面就具體說說通過xpath定位元素標籤
8:通過xpath定位元素標籤
部分html頁面**:
<input
type
="text"
class
="s_ipt"
name
="wd"
id="kw"
maxlength
="100"
autocomplete
="off"
>
(1)通過元素的任一屬性定位元素:
driver.find_element_by_xpath("//input[@type="text"]")
如果通過上面的方式還不能唯一定位到頁面元素:
driver.find_element_by_xpath("//input[@type="text" and @ name="wd"]")
(2)通過元素的文字定位元素:
driver.find_element_by_xpath("//input[text()="元素文字內容"]") #(注意這裡是text()是文字內容,所以不用加@
(3)部分匹配:
driver.find_element_by_xpath("//input[contains(text(),"部分匹配的文字內容")]")
driver.find_element_by_xpath("//input[contains(@屬性,"屬性值")]")
(4)通過標籤的同級標籤定位元素
1:通過div標籤定位input標籤(input標籤為弟弟)
driver.find_element_by_xpath(//div[@屬性="屬性值"]")/following-sibling::input[@屬性="屬性值"]")
2:通過input標籤定位div標籤(div標籤為哥哥)
driver.find_element_by_xpath(//input[@屬性="屬性值"]")/preceding-sibling::div[@屬性="屬性值"]")
(5)通過父標籤定位子標籤
div為父便簽 input 為子標籤
driver.find_element_by_xpath(//div[@屬性="屬性值"]")/input[@屬性="屬性值"]")
(6)通過子標籤定位父標籤
driver.find_element_by_xpath(//input[@屬性="屬性值"]")/parent::div[@屬性="屬性值"]")
要是定位元素標籤的祖父標籤
driver.find_element_by_xpath(//input[@屬性="屬性值"]")/ancestor::div[@屬性="屬性值"]")
元素定位常用方法
1 coding utf 8 23 4 selenium webdriver 定位元素是通過使用 findelement 和 findelements 方法.5findelement 方法返回乙個基於指定查詢條件的 webelement 物件或是丟擲乙個沒有 6找到符合條件元素的異常.7findel...
Xpath常用元素定位方式
原文 一 xpath是什麼 xpath是一種在xml文件中查詢指定資訊的語言 可用於在xml中進行元素和屬性的遍歷 xpath使用表示式來選取xml中的節點或節點集 二 xpath常用定位方法 1.通過元素本身的唯一屬性定位 方法 找到目標元素所在的 精準元素 即唯一標識屬性,使用此屬性定位 1.1...
appium 常用的元素定位
1.通過id定位 取resource id值 driver.find element by id com.android.dongsport id tv home1 driver.find elements by id com.android.dongsport id tv home1 2.通過cl...