最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

閱讀目錄

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

什么是xpath

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

xpath定位的缺點

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

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>

絕對路徑定位方式

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

XPath的表達(dá)式

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

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

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

 

絕對路徑的缺點

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

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

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

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

相對路徑定位方式

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

XPath的表達(dá)式

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

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

使用索引號定位

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

//input[2] 

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

使用頁面屬性定位

定位被測試頁面中的第一個圖片元素

//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)資料,謝謝大家對本站的支持!

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

    java如何獲取yml配置文件工具類

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

    springboot集成redis之字典緩存詳解

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

    Resttemplate中設(shè)置超時時長方式

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

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

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

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

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

最新評論

江口县| 安泽县| 新竹市| 新巴尔虎右旗| 三江| 土默特右旗| 尉犁县| 陵水| 文昌市| 罗田县| 临颍县| 桃江县| 宁陵县| 贵定县| 彰武县| 恩施市| 都匀市| 景谷| 龙井市| 西青区| 合江县| 大埔区| 曲阳县| 朝阳市| 桐庐县| 万年县| 邓州市| 绍兴市| 西平县| 金门县| 马鞍山市| 庆元县| 乌拉特后旗| 灌云县| 大名县| 台东县| 百色市| 安徽省| 板桥市| 天柱县| 灵石县|