java - 想要在 java selenium 中打印 Instagram 帖子的标题

标签 java selenium-webdriver

我想打印 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即成为NodeNodeSet因此您的 XPath 表达式无法返回字符串,您需要删除尾随的 /text()

继续使用绝对 XPath 表达式是一种反模式,因为它们非常脆弱并且对标记更改敏感。考虑提出一个稳定、易于阅读和维护的相对 XPath 查询,在您的情况下,它会是这样的:

//header/descendant::a[contains(@href,'explore')]

引用文献:

关于java - 想要在 java selenium 中打印 Instagram 帖子的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57412291/

相关文章:

java - 信号量死锁

java - 在 selenium 脚本中从 Excel 获取数据时收到警告

java - Selenium-Java-Actions 类型错误 : rect is undefined

java - 如何从大量文本内容中提取特定文本?

c# - 使用 Selenium Webdriver 处理 Windows 身份验证

java - Spring 启动执行器 : How to get metrics uptime inside a custom HealthIndicator?

java - 通过在java中放入列表来设置和获取数据循环

java - 底部重随机数

java - 如何将带有 HTML 标签的字符串放入数组或列表中?

列表问题的 Java 引用?