簡體   English   中英

如何在Selenium WebDriver中選擇li里面的錨標簽?

[英]How to select the anchor tag which is inside the li in Selenium WebDriver?

以下是我的代碼。 我想點擊<li>里面的錨標簽<a> 我試圖使用By.tagName("//li/a")獲取值。 我沒有得到任何數據。

我的HTML中有許多帶有class="dropdown-menu" 我應該能夠選擇一個列表,從中單擊下拉值。

<ul class="dropdown-menu" style="position: static; margin-bottom: 5px; *width: 50px;border-style: none;min-width: 45px;box-shadow: 0 0px;text-align: center;" aria-labelledby="dropdownMenu" role="menu">
  <li><a class="dropdown-add" style="cursor: pointer;">1</a></li>
  <li><a class="dropdown-add" style="cursor: pointer;">2</a></li>
  <li><a class="dropdown-add" style="cursor: pointer;">3</a></li>
  <li><a class="dropdown-add" style="cursor: pointer;">4</a></li>
  <li><a class="dropdown-add" style="cursor: pointer;">5</a></li>
  <li><a class="dropdown-add" style="cursor: pointer;">6</a></li>
  <li><a class="dropdown-add" style="cursor: pointer;">7</a></li>
  <li><a class="dropdown-add" style="cursor: pointer;">8</a></li>
  <li><a class="dropdown-add" style="cursor: pointer;">9</a></li>
  <li><a class="dropdown-add" style="cursor: pointer;">10</a></li>
</ul>

獲取所有錨點的列表很容易,只需使用CSS選擇器

List<WebElement> anchors = webDriver.findElement(By.cssSelector("ul li a"));

然后選擇你想要點擊的任何錨,讓我們說

anchors.findElement(By.linkText("10")).click();

首先獲取錨點的NodeList:

var res = document.querySelectorAll('ul.dropdown-menu li a.dropdown-add');

然后強制click第3個,如果它不是空的:

if(res[2].childNodes[0].nodeValue.length) { res[2].click() };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM