Java 选择文本时需要XPath建议
我有一个包含以下html代码的html文档:Java 选择文本时需要XPath建议,java,html,selenium,xpath,Java,Html,Selenium,Xpath,我有一个包含以下html代码的html文档: 第XYZ页 加粗的文字还有一些文字 一,。你好2。如何3。是吗?在一个段落中多写一些文字。 要仅选择文本,应使用/p[2]/text() 如果你需要打印1。2.3.您应该使用p[2]/b 如果需要同时选择两者,则应使用 //p[2]作为不带.findelelements()的字符串,然后在代码中将其拆分为一个列表使用xpath“(//p[2])/text()”,它将返回同级标记中的文本。使用xpath“(//p[2])/b”获取粗体数字1,2,
第XYZ页
加粗的文字还有一些文字
一,。你好
2。如何
3。是吗?在一个段落中多写一些文字。
要仅选择文本,应使用/p[2]/text()
如果你需要打印1。2.3.您应该使用
p[2]/b
如果需要同时选择两者,则应使用
//p[2]
作为不带.findelelements()
的字符串,然后在代码中将其拆分为一个列表使用xpath“(//p[2])/text()”
,它将返回同级
标记中的文本。使用xpath“(//p[2])/b”
获取粗体数字1,2,3
要获得所需的输出,可以尝试以下操作:
List<WebElement> numberList = driver.findElements(By.xpath("(//p[2])/b"));
List<WebElement> textList = driver.findElements(By.xpath("(//p[2])/text()"));
for(int i = 0; i < textList.size() && i < numberList.size(); i++) {
System.out.println(numberList.get(i).getText() + " " + textList.get(i).getText());
}
List numberList=driver.findElements(By.xpath((//p[2])/b));
List textList=driver.findelelements(By.xpath(“(//p[2])/text()”);
对于(int i=0;i
谢谢您的回复。XPath表达式“(//p[2])/text()”仅在XPath中工作正常,但在Selenium中,它会抛出错误:InvalidSelectorError//p[2]工作正常(因此我接受您的答案),但在Selenium中,在XPath表达式中使用text()函数会抛出错误,将其作为无效选择器。