1. 程式人生 > >Selenium獲取頁面指定元素個數

Selenium獲取頁面指定元素個數

drive clas tar ring 下拉 博客 with size contains

測試需求:

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

方法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

Selenium獲取頁面指定元素個數