元素的定位

2022-09-11 06:48:09 字數 1865 閱讀 2930

物件的定位應該是自動化測試的核心,webdriver 提供了一系列的物件定位方法,常用的有以下幾種:

idname

class name

link text

partial link text

tag name

xpath

css selector

物件的定位應該是自動化測試的核心,webdriver 提供了一系列的物件定位方法,常用的有以下幾種:

idname

class name

tag name

css selector

xpath

link text

partial link text

可以看到搜尋框的id為kw,name為wd,因此,

1、通過id定位:browser.find_element_by_id("kw").send_keys("selenium")

2、通過name定位:browser.find_element_by_name("wd").send_keys("selenium")

id 和name 是我們最最常用的定位方式,因為大多數控制項都有這兩個屬性,而且在對控制項的id 和name 命名時一般使其有意義也會取不同的名字.對於class 和tag name(標籤名),input 就是乙個標籤的名字,class也可以從上圖中看到。

3、通過tag name 方式:browser.find_element_by_tag_name("input").send_keys("selenium")

4、通過class name 方式:browser.find_element_by_class_name("s_ipt").send_keys("selenium")

css(cascading style sheets)是一種語言,它被用來描述html 和xml 文件的表現。css 使用選擇器來為頁面元素繫結屬性。這些選擇器可以被selenium 用作另外的定位策略。

5、通過css 方式:browser.find_element_by_css_selector("#kw").send_keys("selenium")

新聞driver.find_element_by_css_selector("a[name=\"tj_news\"]").click()

感覺用css定位非常靈活,只是我還沒學會具體怎麼使用,比較習慣用xpath。

對css具體的講述教程參見:

6、xpath也是一大塊知識體系

什麼是xpath:

xpath 基礎教程:

通過xphan 方式:browser.find_element_by_xpath("//input[@id='kw']").send_keys("selenium")

再舉例:

xpath("//div[@id='fm']/form/span/input")表示定位在/form/span/input 層級標籤下有個div 標籤的id=fm 的元素

xpath("//tr[@id='check']/td[2]")表示tr標籤下id 為'check' ,定位到他裡面的第2個

xpath("//tr[7]/td[2]")表示第7個tr 裡面的第2個td

xpath("//a[contains(text(),'網頁')]")表示在a 標籤下有個文字(text)包含(contains)'網頁' 的這個元素

xpath("//a[@href='']")表示有個叫a 的標籤,他有個鏈結href=' 的元素

7、有時候不是乙個輸入框也不是乙個按鈕,而是乙個文字鏈結,我們可以通過link

browser.find_element_by_link_text("貼吧").click()

browser.find_element_by_partial_link_text("貼").click()

元素定位 Cypress 元素定位

cypress含有多種定位方式我們無需擔心因為定位導致測試失敗,cypress有獨一無二的定位策略能使你擺脫元素定位的噩夢。cypress專有選擇器 舉例 submitsubmitsubmit獲取元素方法 cy.get data cy submit click cy.get data test su...

元素的定位

css 有三種基本的定位機制 普通流 浮動和絕對定位。除非專門指定,否則所有框都在普通流中定位。也就是說,普通流中的元素的位置由元素在 x html 中的位置決定。塊級框從上到下乙個接乙個地排列,框之間的垂直距離是由框的垂直外邊距計算出來。行內框在一行中水平布置。可以使用水平內邊距 邊框和外邊距調整...

元素的定位

position static 靜態定位 是元素預設定位方式,就是各元素在html文件流中的預設位置。注意 任何元素在預設狀態下都會以靜態定位來確定自己的位置,在靜態定位狀態下,無法通過邊偏移屬性 top,bottom,left,right 來改變元素位置。position relative 相對定...