欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java selenium XPath 定位實(shí)現(xiàn)方法

 更新時(shí)間:2016年08月12日 15:58:11   作者:肖佳  
本文主要介紹java selenium XPath,這里整理了XPath的資料,并附實(shí)現(xiàn)方法,有需要的小伙伴可以參考下

xpath 的定位方法, 非常強(qiáng)大。  使用這種方法幾乎可以定位到頁(yè)面上的任意元素。

閱讀目錄

  1. 什么是xpath
  2. xpath定位的缺點(diǎn)
  3. testXpath.html 代碼如下
  4. 絕對(duì)路徑定位方式
  5. 使用瀏覽器調(diào)試工具,可以直接獲取xpath語(yǔ)句
  6. 絕對(duì)路徑的缺點(diǎn)
  7. 絕對(duì)路徑和相對(duì)路徑的區(qū)別
  8. 相對(duì)路徑定位方式
  9. 使用索引號(hào)定位
  10. 使用頁(yè)面屬性定位
  11. 模糊定位starts-with關(guān)鍵字
  12. 模糊定位contains關(guān)鍵字
  13. text() 函數(shù) 文本定位

什么是xpath

xpath 是XML Path的簡(jiǎn)稱, 由于HTML文檔本身就是一個(gè)標(biāo)準(zhǔn)的XML頁(yè)面,所以我們可以使用Xpath 的用法來(lái)定位頁(yè)面元素。

xpath定位的缺點(diǎn)

xpath 這種定位方式, webdriver會(huì)將整個(gè)頁(yè)面的所有元素進(jìn)行掃描以定位我們所需要的元素, 這是個(gè)非常費(fèi)時(shí)的操作,  如果腳本中大量使用xpath做元素定位的話, 腳本的執(zhí)行速度可能會(huì)稍慢

testXpath.html 代碼如下

<html>
<head><title>Test Xpath</title></head>
<body>
 <div id="div1">
 <input name="div1input"></input>
 <a >搜狗搜索</a>
 <img alt="div1-img1" src="http://www.sogou.com/images/logo/new/sogou.png" >搜狗圖片</img>
 <input type="button" value="查詢"></input>
 </div>
 <br />
 <div name="div2">
 <input name="div2iniput" /></input>
 <a >百度搜索</a>
 <img alt="div2-img2" src="http://www.baidu.comn/img/bdlogo.png" href="http:/www.baidu.com">百度圖片</img>
 </div>
</body>
</html>

絕對(duì)路徑定位方式

在被測(cè)試網(wǎng)頁(yè)中, 查找第一個(gè)div標(biāo)簽中的按鈕

XPath的表達(dá)式

/html/body/div/input[@value="查詢"]

WebElement button = driver.findElement(By.xpath("/html/body/div/input[@value='查詢']"));

使用瀏覽器調(diào)試工具,可以直接獲取xpath語(yǔ)句

 

絕對(duì)路徑的缺點(diǎn)

1. 一旦頁(yè)面結(jié)構(gòu)發(fā)生改變,改路徑也隨之失效,必須重新。 所以不推薦使用絕對(duì)路徑的寫法

絕對(duì)路徑和相對(duì)路徑的區(qū)別

絕對(duì)路徑  以 "/"  開頭, 讓xpath 從文檔的根節(jié)點(diǎn)開始解析

相對(duì)路徑  以"http://" 開頭, 讓xpath 從文檔的任何元素節(jié)點(diǎn)開始解析

相對(duì)路徑定位方式

在被測(cè)試網(wǎng)頁(yè)中,查找第一個(gè)div標(biāo)簽中的按鈕

XPath的表達(dá)式

//input[@value="查詢"]

WebElement button = driver.findElement(By.xpath("http://input[@value='查詢']"));

使用索引號(hào)定位

在被測(cè)試網(wǎng)頁(yè)中, 查找第二個(gè)div標(biāo)簽中的"查詢"按鈕

//input[2] 

WebElement button = driver.findElement(By.xpath("http://input[2]"));

使用頁(yè)面屬性定位

定位被測(cè)試頁(yè)面中的第一個(gè)圖片元素

//img[@alt='div1-img1']

WebElement button = driver.findElement(By.xpath("http://img[@alt='div1-img1']"));
 

模糊定位starts-with關(guān)鍵字

查找圖片alt屬性開始位置包含'div1'關(guān)鍵字的元素

//imag[starts-with(@alt,'div')]

模糊定位contains關(guān)鍵字

查找圖片alt屬性包含'g1'關(guān)鍵字的元素

//imag[contains(@alt,'g1')]

 text() 函數(shù) 文本定位

 查找所有文本為"百度搜索" 的元素

driver.findElement(By.xpath("http://*[text()='百度搜索']"));

查找所有文本為“搜索” 的超鏈接

driver.findElement(By.xpath("http://a[contains(text(),'搜索')]"));

以上就是java selenium XPath 定位的資料整理,后續(xù)繼續(xù)整理相關(guān)資料,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • SptingBoot過(guò)濾器Filter的使用詳解

    SptingBoot過(guò)濾器Filter的使用詳解

    這篇文章主要介紹了SptingBoot過(guò)濾器Filter的使用詳解,Filter屬于Servlet規(guī)范,并不是Spring獨(dú)有的,Filter主要用于攔截請(qǐng)求,做一些業(yè)務(wù)邏輯操作,然后可以決定請(qǐng)求是否可以繼續(xù)往下分發(fā),落到其他的Filter或者對(duì)應(yīng)的Servlet,需要的朋友可以參考下
    2023-09-09
  • 如何基于springcloud模擬RPC調(diào)用(Feign)

    如何基于springcloud模擬RPC調(diào)用(Feign)

    這篇文章主要介紹了如何基于springcloud模擬RPC調(diào)用(Feign),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Java多線程案例之單例模式懶漢+餓漢+枚舉

    Java多線程案例之單例模式懶漢+餓漢+枚舉

    這篇文章主要介紹了Java多線程案例之單例模式懶漢+餓漢+枚舉,文章著重介紹在多線程的背景下簡(jiǎn)單的實(shí)現(xiàn)單例模式,需要的小伙伴可以參考一下
    2022-06-06
  • 詳解JAVA中的for-each循環(huán)與迭代

    詳解JAVA中的for-each循環(huán)與迭代

    本文詳解了JAVA中的for-each循環(huán)與迭代,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),也是java中的難點(diǎn)知識(shí),需要的朋友可以參考下 。
    2016-10-10
  • Java實(shí)戰(zhàn)之藥品管理系統(tǒng)的實(shí)現(xiàn)

    Java實(shí)戰(zhàn)之藥品管理系統(tǒng)的實(shí)現(xiàn)

    這篇文章主要介紹了利用Java實(shí)現(xiàn)的藥品管理系統(tǒng),本項(xiàng)目屬于前后端分離的項(xiàng)目,分為兩個(gè)角色藥品管理員和取藥處人員,感興趣的小伙伴可以學(xué)習(xí)一下
    2022-04-04
  • Java運(yùn)行環(huán)境搭建的圖文教程

    Java運(yùn)行環(huán)境搭建的圖文教程

    下面小編就為大家?guī)?lái)一篇Java運(yùn)行環(huán)境搭建的圖文教程。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • Java微服務(wù)Nacos Config配置中心超詳細(xì)講解

    Java微服務(wù)Nacos Config配置中心超詳細(xì)講解

    配置文件相對(duì)分散。在一個(gè)微服務(wù)架構(gòu)下,配置文件會(huì)隨著微服務(wù)的增多變的越來(lái)越多,而且分散 在各個(gè)微服務(wù)中,不好統(tǒng)一配置和管理。每一個(gè)環(huán)境所使用的配置理論上都是不同的,一旦需要修改,就需要我們?nèi)ジ鱾€(gè)微服務(wù)下手動(dòng)維護(hù)
    2023-02-02
  • SpringBoot集成MQTT實(shí)現(xiàn)交互服務(wù)通信

    SpringBoot集成MQTT實(shí)現(xiàn)交互服務(wù)通信

    MQTT非常適用于物聯(lián)網(wǎng)領(lǐng)域,本文主要介紹了SpringBoot集成MQTT實(shí)現(xiàn)交互服務(wù)通信,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Mybatis超詳細(xì)講解構(gòu)建SQL方法

    Mybatis超詳細(xì)講解構(gòu)建SQL方法

    這篇文章主要為大家詳細(xì)介紹了Mybatis構(gòu)建SQL,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-07-07
  • Java實(shí)現(xiàn)批量下載選中文件功能

    Java實(shí)現(xiàn)批量下載選中文件功能

    這篇文章主要介紹了Java實(shí)現(xiàn)批量下載選中文件功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-11-11

最新評(píng)論