Selenium:如何从 div 中获取文本

Selenium: How to get text out of a div

我想获取 div 中的文本。我试图从其他问题中寻求帮助,但大多数人都说 .getText() 不再存在。

这是检查:

我正在使用 chrome 扩展,我可以用它复制出 XPath,但它不会读取 div 中的文本。它在这里复制了我:

//div[@class='mud-alert-message']

要打印文本 Die Datei... 您可以使用以下任一方法 :

  • 使用 cssSelectorgetAttribute("innerHTML"):

    System.out.println(wd.findElement(By.cssSelector("div.mud-alert-message")).getAttribute("innerHTML"));
    
  • 使用 xpathgetText():

    System.out.println(wd.findElement(By.xpath("//div[@class='mud-alert-message']")).getText());
    

理想情况下,要提取文本,您必须为 visibilityOfElementLocated() 引入 ,您可以使用以下任一方法 :

  • 使用 cssSelectorgetText():

    System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div.mud-alert-message"))).getText());
    
  • 使用 xpathgetAttribute("innerHTML"):

    System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@class='mud-alert-message']"))).getAttribute("innerHTML"));
    

我相信是这样的:

WebElement element = new WebDriverWait(driver, ...).until(ExpectedConditions.elementToBeXXX(By.LOCATOR_TYPE));
String text = element.getText();