javascript - 如何使用 Javascriptexecutor 在没有 Id 作为定位器的元素中输入文本?

标签 javascript selenium selenium-webdriver webdriver selenium-chromedriver

我想在不通过 SendKeys 接受输入的文本框中输入文本。我继续使用 Javascriptexecutor 输入文本并成功。现在有几个字段没有可以选择作为定位器的Id,所以我需要用Xpath来定位它们。我想知道我们如何在 Javascriptexecutor 中通过 xpath 定位元素并将值传递给它。

JavascriptExecutor jse = (JavascriptExecutor)driver
jse.executeScript("document.getElementById('value').value='1611 
Dragons';");

我需要一种可以使用它的方法,例如:

document.getElementByXpath("Xpath Here").value='xyz';");

如果以前在某处记录过,请随时指导我找到文档/答案。

最佳答案

试试下面的代码,它会解决你的问题:

 WebElement element = driver.findElement(By.xpath("enter the xpath here"));
 JavascriptExecutor jse = (JavascriptExecutor)driver;
 jse.executeScript("arguments[0].value='enter the value here';", element);

关于javascript - 如何使用 Javascriptexecutor 在没有 Id 作为定位器的元素中输入文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54673979/

相关文章:

selenium-webdriver - 在某些浏览器的 Selenium 2 中获取 session 未找到错误

excel - 在 Selenium VBA 中提取变化的 XPath

javascript - 如何从字符串中取出数字并存储在数组中?

javascript - onbeforeunload 在 Windows Chrome 中不起作用

javascript - 有什么好的 webrtc 音频解决方案?

javascript - 将消息复制到另一个 channel

python - PhantomJS - 权限被拒绝

Java、Selenium 中链接捕获器上的 java.lang.NullPointerException

c# - Selenium WebDriver - 如果元素存在则选择它,如果不存在则忽略它并继续下一个元素

javascript - Selenium--driver.execute_script() 不起作用