【发布时间】:2012-12-25 05:36:21
【问题描述】:
我正在尝试向输入发送密钥,但我不知道为什么它会这样警告我:
org.openqa.selenium.InvalidElementStateException:元素不得隐藏、禁用或只读(警告:服务器未提供任何堆栈跟踪信息)
HTML页面来源:
<span id="mini-7" class="mini-textbox mini-textbox-empty" style="border-width: 0pt; width: 342px;">
<input class="mini-textbox-input" type="text" autocomplete="off" style="width: 338px;">
<input type="hidden">
</span>
我的代码:
driver.findElement(By.cssSelector("#mini-7 > input.mini-textbox-input")).clear();
driver.findElement(By.cssSelector("#mini-7 > input.mini-textbox-input")).sendKeys("yy");
然后我像这样更改我的代码:
JavascriptExecutor jse = (JavascriptExecutor)driver;
((JavascriptExecutor) jse).executeScript("arguments[0].type ='text';",driver.findElement(By.xpath("//span[@id='mini-7']/input[2]")));
但这一次它抛出了js错误。为什么?
我对第一个输入使用sendkeys,这个输入没有隐藏
【问题讨论】:
-
您是否尝试过使用大写的“HIDDEN”? IE 有一些问题
-
我修好了,就像这样:JavascriptExecutor jse = (JavascriptExecutor)driver; ((JavascriptExecutor) jse).executeScript("arguments[0].style.visibility = 'visible';",driver.findElement(By.xpath("//span[@id='mini-7']/input" )));但我还是不知道为什么
-
您使用的是什么语言?爪哇? C#?还是什么?
标签: java javascript input selenium-webdriver hidden-field