Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t将文本设置为隐藏输入_Java_Webdriver_Selenium Webdriver - Fatal编程技术网

Java Can';t将文本设置为隐藏输入

Java Can';t将文本设置为隐藏输入,java,webdriver,selenium-webdriver,Java,Webdriver,Selenium Webdriver,我试图设置一个文本输入,然后点击隐藏链接(听起来可能很愚蠢,但这是另一个问题的解决办法)。所以我试过类似的方法 WebElement element = webDriver.findElement(By.cssSelector("input[id$='inputId']")); ((JavascriptExecutor) webDriver).executeScript("arguments[0].style.visibility='visible';", element); element.s

我试图设置一个文本输入,然后点击隐藏链接(听起来可能很愚蠢,但这是另一个问题的解决办法)。所以我试过类似的方法

WebElement element = webDriver.findElement(By.cssSelector("input[id$='inputId']"));
((JavascriptExecutor) webDriver).executeScript("arguments[0].style.visibility='visible';", element);
element.sendKeys(text);
我也试过了

((JavascriptExecutor) webDriver).executeScript("arguments[0].setText(" + text + ")", element);
or "arguments[0].text="someText"
这些工作都没有,测试总是以

java.lang.IllegalArgumentException: Argument is of an illegal type: $Proxy30
当我调试它时,我可以看到元素被正确地找到,但我在脚本执行期间遇到了这个异常。那么我做错了什么


另外,我如何点击该链接,我是否也必须使用JS Executor?

在半固态浏览器中,您甚至可以通过JavaScript搜索元素,只需运行以下命令:

var elem = document.querySelector("input[id$='inputId']");
elem.value = "some text";
还要注意
值的使用。我从未见过元素上的
setText()
方法或
text
属性,所以可能我弄错了。但是我确信输入值是由
value
属性设置的

在WebDriver中:

JavascriptExecutor js = (JavascriptExecutor)webDriver;
js.executeScript(
    "document.querySelector(\"input[id$='inputId']\").value = '" + someText + "';");

我在什么地方见过,尝试这种方法可能是个愚蠢的想法。不管怎样,我该如何在WebDriver中使用您的代码?我只看到纯JavaScriptI,我以为您知道如何执行任何JS。。。编辑成答案,试一试。对不起,今天是星期五,我有一个相当大的脑死:-)它可以工作,非常感谢。@PetrMensik注意,这在IE的较低版本中不起作用,如果需要的话,我们必须使用selenium的内部JS browserbot功能。那么,什么是较低的呢?我认为我们的测试只在IE 8及以上版本上运行