【发布时间】:2018-08-21 12:25:59
【问题描述】:
存在 id 为条件的输入字段,getText() 和 getAttribute() 不起作用
driver.findElement(By.id("condition")).getText() //is not working..
所以我在控制台尝试了
document.getElementById("condition").value //return the value.
所以我尝试了
JavascriptExecutor jse = (JavascriptExecutor) driver;
System.out.println(jse.executeScript("document.getElementById(condition).value");
String value = jse.executeScript("document.getElementById(condition).value").toString();
AssertVerify(value, "15");
出现以下错误:
org.openqa.selenium.WebDriverException: JavaScript error (WARNING: The server did not provide any stacktrace information)
如何使用javascript获取值并分配给其他变量。
【问题讨论】:
-
应该是
"document.getElementById('condition').value",在condition周围加撇号。 -
你是如何尝试
getAttribute()的?getAttribute("value")应该有效。 -
正如@Guy 所说,对于输入文本框,您必须使用
getAttribute("value")来读取其中输入的字符串。对于其他控件,您应该使用getText(),它只能获取控件的只读文本。无需为您的情况使用executeScript。
标签: java selenium selenium-webdriver webdriver getattribute