Selenium獲取頁面指定元素個數


測試需求:

獲取頁面中下拉框個數,並驗證是否與預期個數一致

方法1:因下拉框的tagname屬性值為select,可通過獲取標簽為select的元素來獲取下拉框個數

 

 

  1.  
    List<WebElement> elements = driver.findElements(By.tagName( "select"));
  2.  
    int number=elements.size();
  3.  
    Assert.assertEquals(number, 12);//驗證是否為12

 

方法2:因下拉框默認顯示“請選擇”,可通過獲取頁面的“請選擇”元素來獲取下拉框個數。

 

 

  1.  
    List<WebElement> elements = driver.findElements(By.xpath( "//*[text()='請選擇']"));
  2.  
    int number=elements.size();
  3.  
    Assert.assertEquals(number, 12);//驗證是否為12

 

 

xpath用法擴展:


1.contains

 

driver.findElement(By.xpath("//a[contains(@href, 'logout')]"));
 

 

尋找頁面中href屬性值包含有logout這個單詞的所有a元素,其中@后面可以跟該元素任意的屬性名。

 

driver.findElement(By.xpath("//*[contains(text(), '退出')]"));
 


直接查找頁面當中所有的退出二字,根本就不用知道它是個a元素了。這種方法也經常用於純文字的查找

 

如果知道超鏈接元素的文本內容,也可以用

 

driver.findElement(By.xpath("//a[contains(text(), '退出')]"));
 

 

2.starts-with

 

driver.findElement(By.xpath("//a[starts-with(@class, 'a')]"));
 

超鏈接上顯示部分或全部文本信息時,可以使用。

 

尋找class屬性以a開頭的a元素。其中@后面的class可以替換成元素的任意其他屬性.

3.關於網頁中的動態屬性的定位

a.starts-with     

例子:input[starts-with(@id,'ctrl')]                     解析:匹配以 ctrl開始的屬性值

b.ends-with     

 例子:input[ends-with(@id,'_userName')]      解析:匹配以 userName 結尾的屬性值

c.contains()     

例子:Input[contains(@id,'userName')]          解析:匹配含有 userName 屬性值

--------------------- 本文來自 朝天椒的夏天 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/qq_15158911/article/details/54926682?utm_source=copy 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM