国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Selenium元素定位方法大全

這篇具有很好參考價(jià)值的文章主要介紹了Selenium元素定位方法大全。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

selenium不可見元素怎么定位,自動化測試,技術(shù)分享,軟件測試,selenium,python,測試工具,自動化測試,測試工程師

一、背景

作為當(dāng)下最流行的web UI自動化測試工具,selenium是很多測試同學(xué)入門接觸自動化測試時(shí)學(xué)習(xí)的第一個(gè)工具。想要自動化操作頁面上的內(nèi)容,元素定位是首先必須要學(xué)習(xí)的核心知識。

因此本文主要介紹selenium的幾種最常用的元素定位方法,掌握了這些方法,希望能幫助大家快速輕松定位到頁面上的各類元素。。

二、瀏覽器定位元素

首先我們以最常見的百度首頁為例,假設(shè)我們的操作是想要往搜索框內(nèi)輸入關(guān)鍵字,看看如何定位到搜索框。

先打開百度首頁,然后F12調(diào)出瀏覽器調(diào)試臺,然后如圖中所示定位到搜索框:

selenium不可見元素怎么定位,自動化測試,技術(shù)分享,軟件測試,selenium,python,測試工具,自動化測試,測試工程師

注意觀察HTML元素的各個(gè)字段,接下來主要就依靠這些字段來定位到元素:

1. tagName:input
2. type:text
3. class:s_ipt
4. name: wd
5. id: kw
6. maxlength: 100
7. autocomplete: off

頁面上的超鏈接元素定位:

selenium不可見元素怎么定位,自動化測試,技術(shù)分享,軟件測試,selenium,python,測試工具,自動化測試,測試工程師

三、Selenium元素定位代碼

3.1 通過id定位

ele = driver.find_element_by_id("kw")

3.2 通過class定位

ele = driver.find_element_by_class_name("s_ipt")

3.3 通過name定位

ele = driver.find_element_by_name("name")

3.4 通過tagname定位

ele = driver.find_element_by_tag_name("input")

一個(gè)頁面中所有的文本框的tagname都是input,太不唯一,所以一般不會用

3.5 通過link_text定位

ele = driver.find_element_by_link_text("新聞")
只能是超鏈接標(biāo)簽的文本才能查,精準(zhǔn)匹配

3.6 通過partial_link_text定位

ele = driver.find_element_by_partial_link_text("新")
只能是超鏈接標(biāo)簽的文本才能查,模糊匹配

3.7 通過css選擇器定位

1、單一屬性定位:

1. 通過id屬性定位(#號表示通過id屬性定位):
driver.find_element_by_css_selector('#kw')

2. 通過class屬性定位(.表示通過class屬性定位):
driver.find_element_by_css_selector('.s_ipt')

3. 通過其他屬性定位([]表示通過其他屬性定位):
driver.find_element_by_css_selector("[name='wd']")
driver.find_element_by_css_selector("[type='text']")

2、組合屬性定位:

1. id組合屬性定位
driver.find_element_by_css_selector("input#kw")

2. class組合屬性定位
driver.find_element_by_css_selector("input.s_ipt")

3. 其他屬性組合定位
driver.find_element_by_css_selector("input[name='wd']")

4. 兩個(gè)其他屬性組合定位
driver.find_element_by_css_selector("[name='wd'][autocomplete='off']")

3、通過層級定位:

#id是form的form下面的span下面的input
driver.find_element_by_css_selector('form#form>span>input')

selenium不可見元素怎么定位,自動化測試,技術(shù)分享,軟件測試,selenium,python,測試工具,自動化測試,測試工程師

4、模糊匹配屬性值定位:

selenium不可見元素怎么定位,自動化測試,技術(shù)分享,軟件測試,selenium,python,測試工具,自動化測試,測試工程師

1. 匹配屬性值以xx字符串開頭的方法:
driver.find_element_by_css_selector("input[class^='s']")

2. 匹配屬性值以xx字符串結(jié)尾的方法:
driver.find_element_by_css_selector("input[class$='ipt']")

3.8 通過xpath表達(dá)式查找

表達(dá)式 描述
/ 絕對路徑,從根節(jié)點(diǎn)選取。嚴(yán)格按照路徑、同級元素的位置來定位,缺點(diǎn):頁面一動,基本崩潰
// 相對路徑,根據(jù)表達(dá)式匹配頁面中有還是沒有符合表達(dá)式的元素,缺點(diǎn):可能有多個(gè)符合的元素
. 選取當(dāng)前節(jié)點(diǎn)
選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)
@ 選取屬性
[ ] 表示進(jìn)一步的表達(dá)式
通配符 描述
* 匹配任何元素節(jié)點(diǎn)
@* 匹配任何屬性節(jié)點(diǎn)
node() 匹配任何類型的節(jié)點(diǎn)。

1、利用標(biāo)簽內(nèi)屬性進(jìn)行定位:

xpath = "http://標(biāo)簽名[@屬性='屬性值']"
查找span標(biāo)簽的下級標(biāo)簽為input的并且屬性id為kw的元素:

1. xpath = driver.find_element_by_xpath("http://input[@id= 'kw' ]")

屬性判斷條件:最常見為id,name,class等等,屬性的類別沒有特殊限制,只要能夠唯一標(biāo)識一個(gè)元素即可。當(dāng)某個(gè)屬性不足以唯一區(qū)別某一個(gè)元素時(shí),也可以采取多個(gè)條件組合的方式,如下:

1. xpath = "http://input[@type='text' and @name='wd']"

2、利用text()方法文本定位

//a[text() = '新聞']
//a[text() = '新聞'][1]  :表示使用找到的第一個(gè),索引從1開始,不是0

selenium不可見元素怎么定位,自動化測試,技術(shù)分享,軟件測試,selenium,python,測試工具,自動化測試,測試工程師

3、利用contains()方法定位,也叫模糊定位

xpath = "http://標(biāo)簽名[contains(@屬性, '屬性值')]"

1. 例:文本包含“新”
xpath = //a[contains(text(),'新')]

2. class屬性包含kd的
xpath = //a[contains(@class,'kd')]

3. 通過下一級查找上一級:
xpath = //input[@id='kw']/..  :表示查找他的上一層
xpath = //input[@id='kw']/.. /.. :表示查找上兩層

4. 如果一個(gè)元素?zé)o法通過自身屬性直接定位到,則可以先定位它的父(或父的父)元素,然后再找下一級即可
xpath = //form[@id='form']/span[@class='bg s_ipt_wr new-pmd quickdelete-wrap']/input

四、總結(jié)

4.1 推薦的定位方式的優(yōu)先級

  • 優(yōu)先級最高:ID
  • 優(yōu)先級其次:name
  • 優(yōu)先級再次:CSS selector
  • 優(yōu)先級再次:Xpath

4.2 css選擇器和xpath的各自優(yōu)劣勢

  • css是配合html來工作,它實(shí)現(xiàn)的原理是匹配對象的原理,而xpath是配合xml工作的,它實(shí)現(xiàn)的原理是遍歷的原理,所以兩者在設(shè)計(jì)上,css性能更優(yōu)秀(ps:css選擇器表達(dá)式在chrome、firefox解析速度快一些,xpath在ie瀏覽器解析速度快一些)
  • 針對id或者name能夠直接定位到的元素,css選擇器表達(dá)式比xpath表達(dá)式更加簡潔
  • css選擇器不支持文本搜索,但是xpath支持
  • 當(dāng)查找的元素比較簡單時(shí),使用css,復(fù)雜時(shí)使用xpath

4.3 通過瀏覽器快捷獲取元素的css/xpath

瀏覽器也提供了快捷獲取xpath的方式,可以方便快捷的獲取到xpath,如下圖所示:

selenium不可見元素怎么定位,自動化測試,技術(shù)分享,軟件測試,selenium,python,測試工具,自動化測試,測試工程師

以上就是本次的全部內(nèi)容,如果對你有幫助,可以點(diǎn)個(gè)贊和收藏支持一下,你的支持就是作者更新最大的動力~

END配套學(xué)習(xí)資源分享

最后:?為了回饋鐵桿粉絲們,我給大家整理了完整的軟件測試視頻學(xué)習(xí)教程,朋友們?nèi)绻枰梢宰孕忻赓M(fèi)領(lǐng)取?【保證100%免費(fèi)】

selenium不可見元素怎么定位,自動化測試,技術(shù)分享,軟件測試,selenium,python,測試工具,自動化測試,測試工程師

軟件測試面試文檔

我們學(xué)習(xí)必然是為了找到高薪的工作,下面這些面試題是來自阿里、騰訊、字節(jié)等一線互聯(lián)網(wǎng)大廠最新的面試資料,并且有字節(jié)大佬給出了權(quán)威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。

selenium不可見元素怎么定位,自動化測試,技術(shù)分享,軟件測試,selenium,python,測試工具,自動化測試,測試工程師

全套資料獲取方式:

selenium不可見元素怎么定位,自動化測試,技術(shù)分享,軟件測試,selenium,python,測試工具,自動化測試,測試工程師文章來源地址http://www.zghlxwxcb.cn/news/detail-785881.html

到了這里,關(guān)于Selenium元素定位方法大全的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Selenium之css怎么實(shí)現(xiàn)元素定位?

    Selenium之css怎么實(shí)現(xiàn)元素定位?

    世界上最遠(yuǎn)的距離大概就是明明看到一個(gè)頁面元素站在那里,但是我卻定位不到!! Selenium定位元素的方法有很多種,像是通過id、name、class_name、tag_name、link_text等等,但是這些方法局限性太大, 隨著自動化測試的深入,和不同框架要求,會發(fā)現(xiàn)上面的定位方式無法解決一些

    2024年02月12日
    瀏覽(21)
  • 自學(xué)Python 69 Selenium八大元素定位方法(新版BY方法)_selenium定位元素的方法和優(yōu)缺點(diǎn)

    自學(xué)Python 69 Selenium八大元素定位方法(新版BY方法)_selenium定位元素的方法和優(yōu)缺點(diǎn)

    文章目錄 Python Selenium八大元素定位方法(新版BY方法) 前言 一、常用的八種定位方法(新舊對比) 二、查看網(wǎng)頁元素 三、八大元素定位示例 1、id定位 2、name定位 3、class定位 4、tag定位 5、link定位 6、partial_link定位 7、xpath定位 8、CSS定位 在學(xué)習(xí)使用Selenium對網(wǎng)頁元素進(jìn)行定位時(shí)

    2024年04月22日
    瀏覽(24)
  • selenium定位元素方法

    1、通過id定位元素 寫法1: element = driver.find_element_by_id(\\\"kw\\\") 寫法2: from selenium.webdriver.common.by import By element = driver.find_element(by=By.ID, value=\\\"kw\\\") Tips: by=By.ID表示以id的方式定位web元素,下面的例子有類似的寫法以此類推 2、通過class定位元素 寫法1: cheeses = driver.find_elements_by_clas

    2023年04月25日
    瀏覽(21)
  • selenium定位元素的方法

    Selenium可以驅(qū)動瀏覽器完成各種操作,比如模擬點(diǎn)擊等。要想操作一個(gè)元素,首先應(yīng)該識別這個(gè)元素。人有各種的特征(屬性),我們可以通過其特征找到人,如通過身份證號、姓名、家庭住址。同理,一個(gè)元素會有各種的特征(屬性),我們可以通過這個(gè)屬性找到這對象。

    2024年02月14日
    瀏覽(21)
  • Selenium定位不到元素怎么辦?一定要這么做

    Selenium定位不到元素怎么辦?一定要這么做

    在使用Selenium進(jìn)行自動化測試時(shí),碰到無法定位元素該怎么辦?這里總結(jié)了9種情況下的元素定位方法: 1、frame/iframe表單嵌套 WebDriver只能在一個(gè)頁面上對元素識別與定位,對于frame/iframe表單內(nèi)嵌的頁面元素?zé)o法直接定位。 解決方法: switch_to.frame() 默認(rèn)可以直接取表單的id或

    2024年03月15日
    瀏覽(73)
  • Selenium常用元素定位方法匯總

    Selenium常用元素定位方法匯總

    目錄 一、webdriver定位方法 1、xpath基本定位用法 2、xpath相對路徑/絕對路徑定位 3、xpath文本、模糊、邏輯定位 1、 id 定位 2、 name定位 3、 class定位 4、 link定位 --精準(zhǔn)定位 5、 partial_link定位 --模糊定位 6、 tag_name定位 --標(biāo)簽名定位 找到頁面上所有標(biāo)簽名為input的標(biāo)簽,返回一個(gè)列

    2024年02月02日
    瀏覽(22)
  • Selenium元素定位——八大方法詳述

    Selenium元素定位——八大方法詳述

    元素:由標(biāo)簽頭 + 標(biāo)簽尾 + 標(biāo)簽頭和標(biāo)簽尾包括的文本內(nèi)容; 元素的信息就是指元素的標(biāo)簽名及元素的屬性; 元素的層級結(jié)構(gòu)就是指元素之間相互嵌套的層級結(jié)構(gòu); 元素定位最終就是通過元素的信息或者元素的層級結(jié)構(gòu)來進(jìn)行元素定位; webdriver 提供了一系列的對象定位方

    2024年02月06日
    瀏覽(23)
  • Selenium元素定位方法:link_text定位

    概念:專門用來定位超鏈接元素(標(biāo)簽)。 練習(xí)元素定位使用Link_Text定位方式完成下面操作 打開注冊A.html頁面,完成以下操作 1).使用link_text定位(訪問 新浪 網(wǎng)站)超鏈接,并點(diǎn)擊 2).3秒后關(guān)閉瀏覽器窗口 ①.創(chuàng)建瀏覽器驅(qū)動 ②.打開測試網(wǎng)址 ③.獲取要定位超鏈接文本類容,用拷

    2024年02月06日
    瀏覽(24)
  • Selenium元素定位方法:css_selector定位

    認(rèn)識CSS定位 CSS: 概念:(Cascading Style Sheets)是一種語言,用來描述HTML元素的顯示樣式。 選擇器:一種表達(dá)式,可以找到HTML中的標(biāo)簽元素。 css定位 概念:selenium利用選擇器定位元素的定位方式。 方法:driver.find_element_by_css_selector(選擇器表達(dá)式) 1、id選擇器 語法: #id屬性值 前

    2024年02月13日
    瀏覽(18)
  • Python Selenium 八大元素定位方法(下)

    Python Selenium 八大元素定位方法(下)

    今天我們來學(xué)習(xí)UI自動化中,剩余五個(gè)元素定位方法:tag_name、link_text、partial_link_text、Xpath、css_selector 以tag_name元素定位為例 HTML是由不同的標(biāo)簽組成的,每個(gè)標(biāo)簽都是指的同一類,所以用tag定位效率低下,一般不建議使用。 以link_text元素定位為例 1、使用F12,定位到含有鏈接

    2024年02月12日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包