Selenium WebDriver从输入字段获取文本

Selenium WebDriver从输入字段获取文本,selenium,Selenium,我正在编写一个测试来断言标记中的默认文本值。然而,这并不是在玩球: Assert.assertThat(webDriver.findElement(By.id("inputTag")).getText(), Matchers.is("2")); 这是输入元素-您需要获得值属性: webDriver.findElement(By.id("inputTag")).getAttribute("value") 我发现的最可靠的解决方案是执行一个JavaScript脚本并从JavaScript返回的v

我正在编写一个测试来断言
标记中的默认文本值。然而,这并不是在玩球:

Assert.assertThat(webDriver.findElement(By.id("inputTag")).getText(), Matchers.is("2"));

这是
输入
元素-您需要获得
属性:

webDriver.findElement(By.id("inputTag")).getAttribute("value")

我发现的最可靠的解决方案是执行一个JavaScript脚本并从JavaScript返回的value属性

我已经用几种方法对此进行了测试,并且该值始终正确,即使在更改输入字段值之后也是如此

PHP
$input=$driver->findElement(WebDriverBy::id('inputTag');
$value=$driver->executeScript('returnarguments[0].value',$input);
//返回输入字段值的自定义PHP函数:
函数getValue(RemoteWebDriver$driver,WebDriverBy$by){
返回$driver->executeScript(
'返回参数[0]。值',
$driver->findElement($by)
);
}
//示例用法:
$value=getValue($driver,WebDriverBy::id('inputTag');
JAVA
JavascriptExecutor js=(JavascriptExecutor)驱动程序;
WebElement inElement=driver.findElement(By.id(“inputTag”);
String text=(String)js.executeScript(“返回参数[0].value”,inpement);;
我怀疑
给定正确的属性可能会起作用,但我不确定这是什么。可能的重复:在python(3)中,它被称为
get\u属性
。用户进行更改时,
的“value”
属性似乎并不总是得到更新。既然
getText()
不起作用,在这种情况下,您有什么建议?