【问题标题】:Selenium: How to get text out of a divSelenium:如何从 div 中获取文本
【发布时间】:2022-01-07 12:18:58
【问题描述】:

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

这是检查:

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

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

【问题讨论】:

标签: java selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

要打印文本Die Datei...,您可以使用以下任一Locator Strategies

  • 使用 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());
    

理想情况下,要提取文本,您必须将WebDriverWait 诱导为visibilityOfElementLocated(),您可以使用以下任一Locator Strategies

  • 使用 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"));
    

【讨论】:

  • getText() 在 xpath 中不起作用。它有一条红色下划线表示 getText() 不存在
  • 哦,但这行得通IWebElement test = webDriver.FindElement(By.XPath("//div[@class='mud-alert-message']")); string text = test.GetAttribute("innerHTML");谢谢!!!
  • @Beardy getText()IWebElement 接口的一个方法。您必须获取WebElement 的实例才能访问此方法。
  • @Beardy 你的问题用 Java 标记,可能你提到了getText(),这就是为什么答案在 java 中的原因。如果您的问题被标记为C#,我会建议.Text 即文本属性或GetAttribute("innerHTML")
【解决方案2】:

我相信是这样的:

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

【讨论】:

  • 它说“Non-Invocable member "IWebElement.text" 不能像方法一样使用。我在 C# 中使用它
  • 我认为是getText()
  • @Beardy 它是getText(),据我所知,API 没有改变。这种方法应该可用。我不确定您看到了什么或在哪里看到了这个问题。但该方法仍然有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-30
  • 1970-01-01
  • 1970-01-01
  • 2020-05-25
  • 2020-11-18
  • 2019-08-06
  • 1970-01-01
相关资源
最近更新 更多