我想打印 post.hashtag 中给出的主题标签和标题,我可以打印它,但在标题中它显示它应该是一个元素。
driver.findElement(By.xpath("//*[@id=\"react-root\"]/section/main/article/div[1]/div/div/div[1]/div[1]/a/div/div[2]")).click();
List<WebElement> tags = driver.findElements(By.xpath("//a[@class='']"));
for(int j=0;j<tags.size();j++) {
System.out.println(tags.get(j).getText());
}
WebElement caption = driver.findElement(By.xpath("/html/body/div[3]/div[2]/div/article/div[2]/div[1]/ul/div/li/div/div/div[2]/span/text()"));
String Txt = caption.getText();
System.out.println(Txt);
它打印所有主题标签,但不打印标题
最佳答案
XPath 定位器必须解析为 WebElement即成为Node或 NodeSet因此您的 XPath 表达式无法返回字符串,您需要删除尾随的 /text()
位
继续使用绝对 XPath 表达式是一种反模式,因为它们非常脆弱并且对标记更改敏感。考虑提出一个稳定、易于阅读和维护的相对 XPath 查询,在您的情况下,它会是这样的:
//header/descendant::a[contains(@href,'explore')]
引用文献:
关于java - 想要在 java selenium 中打印 Instagram 帖子的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57412291/