Selenium 在webdriver中从textarea读取文本

Selenium 在webdriver中从textarea读取文本,selenium,webdriver,selenium-webdriver,Selenium,Webdriver,Selenium Webdriver,在用Java编写webdriver测试时,我试图从textarea读取文本。由于某些原因,当我使用.getAttribute()时,返回空值: 我该如何解决这个问题 因此,查找元素将返回一个web元素。要获取元素的文本,必须调用getText(),因此从上面开始 WebElement element = wd.findElement(By.id("edit-pi-sample-geo-id")); String text = element.getText() 我让它工作了。这是解决办法-

在用Java编写webdriver测试时,我试图从textarea读取文本。由于某些原因,当我使用
.getAttribute()
时,返回空值:


我该如何解决这个问题

因此,查找元素将返回一个web元素。要获取元素的文本,必须调用getText(),因此从上面开始

 WebElement element = wd.findElement(By.id("edit-pi-sample-geo-id"));
 String text = element.getText()

我让它工作了。这是解决办法-

    WebElement text = wd.findElement(By.id("edit-pi-analytics-tms-id"));
    String textagain = text.getAttribute("value");

在我发布的前一个代码示例中,我使用了文本区域中的实际值,这有点愚蠢。感谢大家的帮助

我使用的是selenium 3.4版,使用的是对我有用的element.getAttribute(“value”)。元素.getText()将为TextArea返回空值。

嗨,罗伯特,我也尝试过,但当我使用.getText()时,它不会返回任何东西。文本和值并不总是一样的。啊,对了,它是一个文本区域。您确实需要获得value属性,很高兴您能够解决自己的问题请接受您自己对自己问题的回答,同时请记住,您需要访问各种元素的“value”属性,例如,
input
元素将没有任何
文本
,但您在页面上看到的内容将被插入到它的
属性中。感谢您的输入阵列,答案是@Riv所说的
var x=document.getElementById('Element').value-1在询问问题时,您需要有点清楚。-1您根本没有发布html。我们不应该假设您有一个id为“aaaa”的元素。我恰好和OP处于相同的情况,所以我理解了他的意思。一些HTML确实会有所帮助。这是解决方案帮助我解决的情况。我需要得到我在以下文本区域看到的文本:正如你在我之前的评论中所说的,文本找不到。这是因为文本在DOM中。我假设“WebElement.getAttribute()”正在访问DOM而不是HTML。
    WebElement text = wd.findElement(By.id("edit-pi-analytics-tms-id"));
    String textagain = text.getAttribute("value");