我需要找到一个与任何html标签无关的元素的xpath。请参考附件以供参考。
我试图使用driver.findElement(By.xpath("/html/body/"));
找到它
但它不起作用,我需要找到如下图所示的文字
找到0记录
通过Xpath或任何其他方式
答案 0 :(得分:1)
您感兴趣的文字不属于任何元素。它是一个文本节点。 Selenium不允许您选择textNode,文本节点也不可操作。
因此,您可以获取页面源并检查是否存在0 records found
。如果你需要验证。或者您需要使用正则表达式获取文本
(\d+) record found
根据您使用的语言,您将运行该模式并从文本中获取数字
修改-1 强>
以下是提取谷歌搜索结果的示例代码,您可以将其自定义到您的页面
ChromeDriver driver = new ChromeDriver();
driver.get("https://www.google.com");
driver.findElement(By.name("q")).sendKeys("tarun lalwani");
driver.findElement(By.name("btnK")).click();
String pageData = driver.getPageSource();
Pattern pattern = Pattern.compile("About ([0-9,]+) results");
Matcher matcher = pattern.matcher(pageData);
matcher.find();
System.out.println("Results: " + matcher.group(1));