java - 如何使用xpath获取href值

标签 java selenium xpath selenium-webdriver

<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/

相关文章:

php - 在php中使用xpath抓取链接

xml - XPath Script 不适用于输入一,但对输入二工作得很好

c# - XPath - 不包含表头的表行

java - Jython:检查 Java 对象类型

java - Hibernate 翻译功能

java - 如何监听 Selenium 中的 CSS 变化?

testing - 有 phpunit/selenium 文档吗?

java - 未找到 maven-compiler-plugin

java - IDE 的项目配置使用相同的代码格式

java - 使用 apache Camel 监听 S3 存储桶中的多个文件