在Selenium中使用javascript设置字段值

在Selenium中使用javascript设置字段值,javascript,java,selenium,Javascript,Java,Selenium,我试图使用javaScript和Selenium+Java中的以下代码设置字段值 JavascriptExecutor jse = (JavascriptExecutor) driver; jse.executeScript("document.getElementByXpath(\"//*[@tabindex='17']\").value = '05741180';"); 但是,我得到了一个例外: org.openqa.selenium.WebDriverException:

我试图使用javaScript和Selenium+Java中的以下代码设置字段值

    JavascriptExecutor jse = (JavascriptExecutor) driver;
    jse.executeScript("document.getElementByXpath(\"//*[@tabindex='17']\").value = '05741180';");
但是,我得到了一个例外:

org.openqa.selenium.WebDriverException:未知错误:document.getElementsByXpath不是函数


你知道我做错了什么吗?

如果你想在xpath'/*[@tabindex='17']]识别的字段中输入'05741180',你可以通过以下方式使用javascript:

JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("arguments[0].setAttribute('value', arguments[1])", driver.findElement(By.xpath("//*[@tabindex='17']")), "05741180");

如果您还有任何疑问,请告诉我。

getElementByXpath
不是So的成员,在这种情况下,如何使用xpath设置字段的值?有什么想法吗?看起来你需要什么不,它不起作用。当我执行它时,字段没有填充,也没有收到错误消息:-(注意:我在chromeAnyway上执行它,您的消息帮助我找到了这个工作正常的解决方案:JavascriptExecutor jse=(JavascriptExecutor)driver;jse.executeScript(“参数[0]。值='05741180',driver.findElement(By.xpath(/*[@tabindex='17']));