webdriver 元素定位

2021-09-08 02:37:50 字數 2818 閱讀 7045

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 查詢元素還可以...