如何从 Selenium (Java) 中获取文本?

Posted

技术标签:

【中文标题】如何从 Selenium (Java) 中获取文本?【英文标题】:How do I grab text from Selenium (Java)? 【发布时间】:2020-11-18 08:07:44 【问题描述】:

我正在尝试从以下 html 代码中获取文本 $1.00(我有 xpath,所以不用担心)。为此,我们可以说 xpath 是 //*[@id="price-string"]

<strong id="price-string">$1.00</strong>

我尝试使用 driver.findElement(By.xpath("//*[@id="price-string"]")) 后跟 .gettext(), .getAttribute("textContent"), .getAttribute( "innerHTML");

全部返回null,表示找不到。

我在 stackexchange 上看到了这篇文章:https://sqa.stackexchange.com/questions/30627/how-to-get-text-under-strong-tag-in-selenium-webdriver-using-java 这可能会有所帮助。他们说问题是,您不能使用 Selenium WebDriver 直接定位/查找文本节点,只能使用常规元素节点。您将如何在 java 中实现修复?谢谢!

【问题讨论】:

如果您能发布更多HTML 内容或要调查的网址,那就太好了。 【参考方案1】:

试试下面的代码 -

Thread.sleep(2000);
String word = driver.findElement(By.xpath("//strong[@id='price-string']")).getText();
System.out.println(word);

注意 - 如果这是您要查找的内容,请将其标记为答案。

【讨论】:

完美!有用!现在最后一个跟进... System.out.println(price);按预期打印出“$1.00” :) 但 System.out.println("String Price -" + price + "-");不会打印任何东西。有什么想法吗?否则,非常感谢!

以上是关于如何从 Selenium (Java) 中获取文本?的主要内容,如果未能解决你的问题,请参考以下文章

Java selenium webdriver - 从文本字段中获取文本

如何从 Selenium 的文本框中获取输入的文本

在 Selenium WebDriver 上,如何从文本标签内的标题标签中获取文本

在 Selenium WebDriver 上如何从 Span Tag 中获取文本

如何使用 Selenium ChromeDriver 从 span 类中获取文本

如果 Selenium Java 中的“文本”匹配,如何获取动态表中的特定行值