selenium常用定位元素屬性詳解

2021-10-25 02:26:42 字數 1792 閱讀 5404

css 是一種用於發現html或xml等檔案樣式的前端頁面語言,主要用於描述頁面元素的展現和樣式的定義。

css定位方式和xpath定位方式基本相同,只是css定位表示式有其他自己的格式。css定位比xpath定位速度快、穩定。

例項:定位測試網頁中,查詢第乙個div元素中的「確定」按鈕

1)使用絕對路徑定位元素

css定位表示式:html>body>div>input[value=『確定』]

使用絕對路徑定位屬性value的值為「確定」的頁面元素,步間通過「>」符號分割,區別路徑中的「/」。

不推薦在頻繁變化的被測試頁面使用絕對路徑定位頁面元素。

2)使用相對路徑定位元素

css定位表示式:input[value=「確定」]

使用相對路徑用元素名稱和元素屬性和屬性值進行頁面元素的定位

3)使用class名稱定位元素

css定位表示式:

input.spread #input是css樣式,spread是class名稱

使用input頁面與安娜蘇的class屬性名稱spread來進行定位,用「.」分割元素名與class屬性名,點後面是class屬性名稱。

缺點:

效能差,定位元素的效能比起大多數其他方法要差;

不夠健壯,xpath會隨著頁面元素布局的改變而改變;

相容性不好,在不同的瀏覽器下對xpath的實現是不一樣的。

優點:

xpath可以通過某個元素找到它的祖先(ancestors);2. 可以做布林邏輯判斷,例如/button[@value=』submit』 or @name=』tijiao』]

xpath定位方式與css定位方式相似,xpath定位功能更強大些,但是css執行速度快,由於有些瀏覽器不支援css定位方式,並且一般在自動化測試實施過程中使用xpath定位方式要比使用css定位方式更普遍,所有建議優先掌握xpath。

1)使用頁面元素的文字定位元素

通過text()函式可以定位到元素文字包含某些關鍵內容的頁面元素。

xpath表示式:

問題:

如果出現,精確定位不到,可能是有空格,可以使用模糊定位。

定位語句**:id名稱

user=driver.find_element_by_id(「user」)

user=driver.find_element(by=「id」,value=「user」)

頁面id屬性都是唯一的,在自動化測試實施過程中,建議與前端開發協商核心頁面新增id屬性,來提高的程式的可測試性,降低自動化測試的實施難度,提公升效率。

如果在控制台可以檢視class名稱是否唯一,唯一的話就直接使用名稱即可。如果不是唯一的可以使用find_elements_by_class_name進行遍歷或陣列定位元素。

定位語句**:

login_btn=driver.find_element_by_class_name(「select_text」)

login_btn=driver.find_element(by=「name」,value=「user」)

例項:以下**是已做封裝

selenium 定位元素

selenium提供了以下方法來定位元素 定位多個元素時,使用以下方法 這些方法將會返回乙個列表值 舉個簡單的例子 from selenium.webdriver.common.by import by driver.find element by.xpath,button text some te...

6 2 Selenium定位元素

在使用selenium時,往往需要先通過定位器找到響應的元素,然後再進行其他操作。selenium webdriver提供多種定位策略,如id定位 name定位 class定位 tag name定位 link text定位 xpath定位和css定位等。下面將分別介紹這些定位策略。kw name w...

selenium學習筆記 定位元素

我們在對頁面中元素進行定位之前,要先對瀏覽器進行操作 1 public class searchtest 19 其中,第五步的定位元素有八種方式 classname 通過元素的class定位,findelement 方法表示查詢元素,by.classname 表示通過類名來定位介面上的輸入框,sen...