欧美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)稱(chēng), 由于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ì)路徑的寫(xiě)法

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

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

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

相對(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屬性開(kāi)始位置包含'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)文章

  • java使用正則表達(dá)式過(guò)濾html標(biāo)簽

    java使用正則表達(dá)式過(guò)濾html標(biāo)簽

    本篇文章主要介紹了java正則表達(dá)式過(guò)濾html標(biāo)簽,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • spring聲明式事務(wù)管理解析

    spring聲明式事務(wù)管理解析

    這篇文章主要為大家詳細(xì)介紹了spring聲明式事務(wù)管理,對(duì)spring事務(wù)管理進(jìn)行深入了解,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 總結(jié)java多線程之互斥與同步解決方案

    總結(jié)java多線程之互斥與同步解決方案

    文中總結(jié)了線程互斥與同步,synchronized使用細(xì)節(jié)及原理,Reentrylock使用細(xì)節(jié)等知識(shí),對(duì)解決Java多線程互斥與同步等問(wèn)題很有效,,需要的朋友可以參考下
    2021-05-05
  • MyBatis Plus 實(shí)現(xiàn)多表分頁(yè)查詢功能的示例代碼

    MyBatis Plus 實(shí)現(xiàn)多表分頁(yè)查詢功能的示例代碼

    這篇文章主要介紹了MyBatis Plus 實(shí)現(xiàn)多表分頁(yè)查詢功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • java 設(shè)計(jì)模式(DAO)的實(shí)例詳解

    java 設(shè)計(jì)模式(DAO)的實(shí)例詳解

    這篇文章主要介紹了java 設(shè)計(jì)模式(DAO)的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • java如何獲取yml配置文件工具類(lèi)

    java如何獲取yml配置文件工具類(lèi)

    本文介紹了java獲取yml配置文件的工具類(lèi)引入pom文件的方法,首先,創(chuàng)建一個(gè)與工具類(lèi)同名的類(lèi),然后將工具類(lèi)的代碼復(fù)制到新創(chuàng)建的類(lèi)中,運(yùn)行后輸出:0*/1***?完成操作,此方法簡(jiǎn)單易行,適合初學(xué)者使用
    2024-10-10
  • springboot集成redis之字典緩存詳解

    springboot集成redis之字典緩存詳解

    Redis的字典緩存是支撐其高性能的一個(gè)關(guān)鍵因素,它使得Redis能夠以極快的速度處理大量的數(shù)據(jù),這篇文章主要介紹了springboot集成redis之字典緩存,需要的朋友可以參考下
    2024-07-07
  • Resttemplate中設(shè)置超時(shí)時(shí)長(zhǎng)方式

    Resttemplate中設(shè)置超時(shí)時(shí)長(zhǎng)方式

    這篇文章主要介紹了Resttemplate中設(shè)置超時(shí)時(shí)長(zhǎng)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 如何使用XPath提取xml文檔數(shù)據(jù)

    如何使用XPath提取xml文檔數(shù)據(jù)

    這篇文章主要介紹了如何使用XPath提取xml文檔數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Java中JSON字符串進(jìn)行各種轉(zhuǎn)換的方法小結(jié)

    Java中JSON字符串進(jìn)行各種轉(zhuǎn)換的方法小結(jié)

    Gson和Hutool的JSONUtil都是常用的用于處理JSON數(shù)據(jù)的工具庫(kù),它們提供了簡(jiǎn)單易用的API來(lái)進(jìn)行JSON字符串的解析、轉(zhuǎn)換和操作,下面就跟隨小編一起學(xué)習(xí)一下如果使用他們實(shí)現(xiàn)JSON字符串的各種轉(zhuǎn)換吧
    2024-01-01

最新評(píng)論