<div id="AdvancedSearchResultsContainter">
<table id="SearchResults" class="tablesorter">
<thead>
<tr>
<th scope="col" class="header">School name</th>
<th scope="col" class="header">School type</th>
<th scope="col" class="header">Sector</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><a href="/Home/Index/82604">ABC Public School</a></td>
<td class="nowrap">Primary</td>
<td class="nowrap">Government</td>
</tr>
<tr class="even">
<td><a href="/Home/Index/82721">XYZ High School</a></td>
<td class="nowrap">Secondary</td>
<td class="nowrap">Government</td>
</tr>
<tr class="odd">
<td><a href="/Home/Index/82648">PQR Park Public School</a></td>
<td class="nowrap">Primary</td>
<td class="nowrap">Government</td>
</tr>
<tr class="even">
<td><a href="/Home/Index/82635">JKL Public School</a></td>
<td class="nowrap">Primary</td>
<td class="nowrap">Government</td>
</tr>
</tbody>
</table>
</div>
我正在使用 selenum 和 xpath 。 我想获取 href 的数值。Out of this href 我想得到 82648。喜欢将其放入循环中并获取 href 中的所有数字。
有人可以帮忙吗?
最佳答案
您可以使用以下CSS选择器来获取<a>
元素:
By.cssSelector("#SearchResults tr a");
然后使用 driver.findElements(By.cssSelector("#SearchResults tr a"))
获取所有链接元素和使用getAttribute("href")
获取网址
类似于:
List<WebElement> elements = driver.findElements(By.cssSelector("#SearchResults tr a"));
获取网址,然后做任何你想做的事情。 java.lang.String 类提供了很多处理字符串的方法。通过这些方法,我们可以对字符串进行修剪、连接、转换、比较、替换字符串等操作。例如:
for(WebElement e : elements) {
String url = e.getAttribute("href");
System.out.println(url.substring(url.length()-5));
}
还有其他方法可以获取子字符串。
您还可以编写一个返回 String
的方法。然后如果您打算这样做,您可以断言。
关于java - 如何使用xpath获取href值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33397273/