1、讓程式操作指定操作,就必須先找到此元素
2、程式不像人類用眼睛直接定位到元素
3、webdriver提供了八種定位元素方式
1、id:id屬性
2、name:name屬性
3、class_name:class屬性
4、tag_name:tag標籤
5、link_text:超連結文字
6、partial_link_text:link_text模糊匹配
7、xpath
8、css
id:find_element_by_id()
name:find_element_by_name()
class_name:find_element_by_class_name()
tag_name:find_element_by_tag_name()
link_text:find_element_by_link_text()
partial_link_text:find_element_by_partial_link_text()
1、導selenium包:from selenium import webdriver
2、匯入time包:from time import sleep
3、例項化瀏覽器(以火狐為例):driver = webdriver.firefox()
4、開啟頁面:driver.get(url)
5、呼叫定位方法(以id定位為例):element = driver.find_element_by_id("id屬性值")
6、使用sends_keys()方式傳送資料:element.send_keys("填入的內容")
7、暫停3秒:sleep(3)
8、關閉瀏覽器:driver.quit()
注意:url中\需要轉義
作用:(1)查詢定位所有符合條件的元素
(2)返回的定位元素格式為陣列(列表)格式
(3)列表資料格式的讀取需要制定下標(下標從0開始)
例:使用tag_name獲取第二個元素(密碼框)
driver.find_elements_by_tag_name("input")[1].send_keys("123456")
1、為什麼學習xpath、css定位
(1)在實際專案中標籤沒有id、name、class屬性
(2)id、name、class屬性值為動態獲取,隨著重新整理或載入而變化
2、什麼是xpath
(1)xpath即為xml path的簡稱,它是一種用來確定xml文件中某部分位置的語言
(2)html可以看做事xml的一種實現,所以selenium使用者可以使用這種強大的語言在web應用中定位元素。
xml:一種標記語言,用於資料到的儲存和傳遞,字尾,xml結尾
3、xpath定位策略(方式)
(1)路徑-定位
絕對路徑:從外層元素到指定元素之間所有經過元素層級路徑;
絕對路徑以/開始 使用firebug可以快速生成,元素xpath絕對路徑
相對路徑:從第乙個符合條件元素開始(一般配合屬性來區分)
相對路徑以//開始
(2)利用元素屬性-定位
(3)層級與屬性結合-定位
(4)屬性與邏輯結合-定位
(1)路徑(絕對路徑、相對路徑)
4、xpath延伸
//*[text()="***"] 文字內容是***的元素
//*[starts-with(@attribute,'***')] 屬性以***開頭的元素
//*[contains(@attribute,'***')] 屬性中含有***的元素
5、什麼是css
(1)css是一種語言,用來描述html和xml的元素顯示樣式
6、css定位常用策略
(1)id選擇器
說明:根據元素id屬性來選擇
格式:#id 如:#usera(選擇id屬性值為usera的所有元素)
(2)class選擇器
說明:根據元素class屬性來選擇
格式:.class 如:.tel(選擇class屬性值為tela的所有元素)
(3)元素選擇器
說明:根據元素的標籤名選擇
格式:element 如:input (選擇所有input元素)
(4)屬性選擇器
說明:根據元素的屬性名和值來選擇
格式:[attribute = value] 如[type = "password"](選擇所有屬性值為password的值)
(5)層級選擇器
說明:根據元素的父子關係來選擇
格式:element>element 如:p>input(返回所有p元素下所有的input元素)
7、css延伸
(1)input[type^='p'] 說明:type屬性以p字母開頭的元素
(2)input[type$='d']說明:type屬性以d字母結束的元素
(3)input[type*='w']說明:type屬性包含w字母的元素
Webdriver常用的元素定位
webdriver常用定位元素的方法有以下八種 id name class name tag name link text partial link text xpath class selector 在python中,對應的方法為 備註 元素定位必須確保該定位方式定位出的元素具有唯一性,若定位出多...
WebDriver之8種元素定位方法
簡介 在做web自動化時,最根本的就是操作頁面上的元素,首先要能找到這些元素,然後才能進行操作。控制項定位方法 first id second name third link text fourth partial link text fifth tag name sixth class name ...
webdriver 定位方式
1 有時為了定位更可靠,所以需要使用xpath通過多個屬性進行定位元素 從匹配選擇的當前節點擊擇文件中的節點,而不考慮它們位置 driver.findelement by.xpath input name pass and class textfild clear 2 關於xpath 查詢元素還可以...