java - 这个 xpath 看起来正确吗?

标签 java xpath htmlunit

page.getByXPath("//*[@href='http://www.example.com/index.do/abc/1_*'");

我需要转义任何字符吗?

我正在尝试获取页面上所有具有以下模式的 ahref 链接:

http://www.example.com/index.do/abc/1_

所以这些都应该被检索:

http://www.example.com/index.do/abc/1_asdf-asdfasdf
http://www.example.com/index.do/abc/1_223
http://www.example.com/index.do/abc/1_as.php
http://www.example.com/index.do/abc/1_2222233

最佳答案

XPath 中没有通配符。你想要这样的东西:

page.getByXPath("//*[contains(@href,'http://www.example.com/index.do/abc/1_')]");

这依赖于the contains function .您还可以使用 starts-with 函数:

//*[starts-with(@href,'http://www.example.com/index.do/abc/1_')]

关于java - 这个 xpath 看起来正确吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2008709/

相关文章:

java - HTMLUnit Java 浏览器太旧

java - Spock 按包顺序测试

java - 在 Android 应用程序中运行 linux 命令并读取输出

xpath - VBScript:具有多个命名空间的 XPath 查询

xpath - 使用 XPath 表达式如何获取紧跟在节点之后的第一个文本节点?

css - 如何将 CSS3 解析器与 HtmlUnitDriver 一起使用

java - Intent 不会进入其他 block 中的登录屏幕

java - 了解 Android 类和方法

java - Camel 使用 xpath 进行 Action 过滤

java - 寻找 "web-scraping script builder"