日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中常用的定位方式有哪些_java-selenium八种元素定位方式

發布時間:2024/9/19 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中常用的定位方式有哪些_java-selenium八种元素定位方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、ID定位

一般情況下頁面元素的id屬性在當前網頁中是唯一的所以使用ID定位可以保證定位的唯一性,不會像其他定位方式一樣可能定位到多個頁面元素。但有的網頁頁面元素沒有id屬性值,導致無法使用ID定位方式。

HTML 源碼

登錄

Java代碼

WebElement element = driver.findElement(By. id("lb"));

二、name定位

name屬性值在一個網頁中可以不是唯一值,因此使用name方式定位可能會同時定位到多個元素。

HTML 源碼

登錄

java代碼

WebElement element=driver.findElement(By.name("tj_login"));

三、className定位

classname定位可以查找一個或者一組顯示效果相同的頁面元素。

HTML 源碼

注冊

java代碼

WebElement element = driver.findElement(By.className( "reg"));

四、linkText定位(鏈接全部文字)

此方式定位鏈接需要完全匹配鏈接的顯示文字,常用于頁面中存在多個鏈接文字高度相似的情況,無法使用部分鏈接文字定位。

HTML 源碼

搜索設置

java代碼

WebElement element = driver.findElement(By.linkText( "搜索設置" ));

五、partialLinkText定位(鏈接部分文字)

這種定位方式只需模糊匹配鏈接的顯示文字即可,常用于匹配頁面鏈接文字不定期發生少量變化的情況,使用模糊匹配的方式可以提高鏈接定位的準確率,也可以用于模糊匹配一組鏈接的情況。

HTML 源碼

sogou搜索

baidu搜索

Java代碼

WebElement element = driver.findElement(By. partialLinkText( "baidu" ));

List elements=driver.findelement(By.partialLinkText("搜索"));

六、tagname定位(標簽名稱定位)

標簽名定位方式主要用于匹配多個頁面元素的情況,將找到的頁面元素對象進行計數、遍歷。。。

HTML 源碼

搜索設置

baidu搜索

Java代碼

WebElement element=driver.findElement(By.tagName("a"));

List elements= driver.findElement(By.tagName(a));

七、XPath定位(這里講述的XPath例子全部是相對路徑定位)

HTML源碼

SeleniumElement

sogou搜索

baidu搜索

Input輸入框RadioBox單選框

yi

er

san

si

wu

1.使用索引號進行定位,從 1 開始。

java代碼

//通過索引號定位到第2個radio按鈕

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

2.使用元素屬性值定位

網頁的元素通常包含各種各樣的屬性值,并且很多屬性值具有唯一性若能確認屬性值發生變更的可能性很低且具有唯一值,則推薦使用元素屬性值定位的方法來編寫XPath定位表達式

java代碼

//使用class屬性定位到值為 yi 的按鈕

WebElement yi=driver.findElement(By.xpath("//input[@class='yi']"));

//定位到id屬性值為sousuo的div中href屬性值為http://www.baidu.com 鏈接

WebElement ss=driver.findElement(By.xpath("//div[@id='sousuo']/a[@href='http://www.baidu.com']"));

//使用type屬性值定位輸入框

WebElement t=driver.findElement(By.xpath("//input[@type='text']"));

3.使用模糊的屬性值定位

自動化實施過程中,會遇到頁面元素屬性值動態的生成,即每次刷新后元素屬性值都會變動。使用模糊的屬性值定位方式可解決一部分此類難題。使用的方法為一下兩個:

> starts-with()

> contains()

java代碼

//查找輸入框id屬性開始位置包含“in”關鍵字的頁面元素

WebElement in=driver.findElement(By.xpath("//input[starts-with(@id,'in')]"));

//查找鏈接href屬性包含“baidu”關鍵字的頁面元素

WebElement bu=driver.findElement(By.xpath("//a[contains(@href,'baidu')]"));

4.使用頁面元素的文本來定位

java代碼

//查找元素文本為 baidu搜索 的鏈接

WebElement bd=driver.findElement(By.xpath("//a[text()='baidu搜索']"));

//搜索包含 sogou 的連鏈接

WebElement sg=driver.findElement(By.xpath("//a[contains(text(),'sogou')]"));

5.使用XPath的軸(Axis)進行元素定位

使用XPath軸方式依據在文檔樹種的元素相對位置關系進行定位。先找到一個相對好定位的元素,依據它和要定位元素的相對位置進行定位,可解決一些元素難以定位的問題。提供的XPath軸關鍵字為一下幾種:

①?parent:選擇當前節點的上層父節點

② child:選擇當前節點的下層子節點

③ ancestor:選擇當前節點所有上層的節點

④?descestor:選擇當前節點所有上層的節點

⑤?following:選擇在當前節點之后顯示的所有節點

⑥?following-sibling:選擇當前節點的所有平級節點

⑦ preceding:選擇當前節點前面的所有節點

⑧ preceding-sibling:選擇當前節點前面的所有同級節點

XPath相對路徑

總結

以上是生活随笔為你收集整理的java中常用的定位方式有哪些_java-selenium八种元素定位方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。