8種 定位方式6種 通過乙個屬性來定位的
2種 組合各種屬性來定位 + 結合各種關係來定位
#開啟跟google的乙個會話
driver =webdriver.chrome()
#訪問乙個**
driver.get("
")
前六種唯一屬性訪問
#1、通過元素的id屬性找元素 # kw1234567
ele = driver.find_element_by_id("
kw") #
返回的webelement物件 封裝了元素的屬性和操作
#print(ele.tag_name)
#print(ele.get_attribute("class"))
#2、name屬性
driver.find_element_by_name("
wd") #
找乙個單一的元素。從上往下,符合條件的第乙個
ele_list = driver.find_elements_by_name("
wd") #
找到所有匹配的元素。#返回的是列表,每乙個都是webelement
print(ele_list[0].tag_name)
#3、class屬性 -- 只能選擇乙個class值
find_elements_by_class_name()返回list
#driver.find_element_by_class_name()
#driver.find_elements_by_class_name()
#4、標籤名 tag_name
#driver.find_element_by_tag_name()
#driver.find_elements_by_tag_name()
#5,6 鏈結元素 link text #完全匹配 # 模糊匹配
#driver.find_element_by_link_text("更多產品") # 完全匹配
#driver.find_element_by_partial_link_text("更多") # 模糊匹配
主要的還是xpath定位:
#絕對定位 嚴格按照路徑和位置來定位元素 以/開頭 父/子關係
#相對定位 參照物:整個html 只要能夠在這個頁面當中,找到符合屬性的元素。
#以//開頭
#//*[@id="kw"]
#/html/body/div[2]/div/form/div[1]/input
#//input[@name="phone"]
#1、//標籤名[@屬性名稱=屬性值] * 匹配所有
#2、邏輯運算 and or //標籤名[@屬性名稱=屬性值 and @屬性名稱=屬性值]
driver.find_element_by_xpath(
'//input[@name="phone"]
') #
#driver.find_elements_by_xpath()
#3、元素的文字內容 //標籤名[text()="元素的文字內容"] # 文字內容完全匹配
#4、部分匹配:文字內容/屬性值 contains(text()/@屬性,部分值)
#//標籤名[contains(text(),"部分文字內容")] # 太長了
#//標籤名[contains(@屬性,"部分屬性值")] # id(不變動+變動) # class有多個。
#5、當你不能通過自己的屬性唯一找到的時候,就要利用層級關係 。
#5.1、層級定位 第一種方式
#後一條件,是在前乙個得到的結果之內去搜尋。//條件1//條件2.....
#//div[@id="u1"]//a[@name="tj_login"]
#5.2 層級定位 - 軸定位 # 表示式 /軸定位名稱::標籤名[屬性表達]
#兄弟姐妹 - 直系的 有比你大的,有比你小的。
#preceding-sibling: 哥哥姐姐
#following-sibling:弟弟妹妹
#//a[@name="tj_trvideo"]/following-sibling::a[@name="tj_login"]
#//a[@name="tj_settingicon"]/preceding-sibling::a[@name="tj_login"]
#爸爸:parent 祖先:ancestor
#//a[@name="tj_trtieba"]/parent::div/a[@name="tj_login"]
#
8種元素定位方式
8種元素定位方式 xpath和css selector比較 css selector執行效率比id還快,因為 原始碼中by id 方法會被自動轉成css 方法處理 css selector的使用 1 通過css selector的方式,可以採用任意的屬性來定位元素,只需要在屬性的兩邊加一對中括號即可...
元素定位8種方法
doctype html html lang en head meta charset utf 8 title title title head body p id abc 海客談瀛洲,煙濤微茫信難求 p a name abd 天南地北雙飛客,老翅兒幾回寒暑 a br a href a br spa...
selenium8種元素定位方式
selenium id定位 1.find element by id name定位 2.find element by name classname定位 3.find element by class name 鏈結全部定位 4.find element by link text 鏈結部分位置定位 ...