当前位置: 代码迷 >> JavaScript >> 如何使用 Javascriptexecutor 在没有 Id 作为定位器的元素中输入文本?
  详细解决方案

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

热度:43   发布时间:2023-06-13 11:51:46.0

我想在不通过 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);

查看 document.evaluate。

var xpathResult = document.evaluate(
  xpathExpression,
  contextNode,
  namespaceResolver,
  resultType,
  result
);

要在通过xpath标识的文本框中输入文本,您可以使用以下表示法:

(JavascriptExecutor) driver.executeScript("document.evaluate(xpathExpresion, document, null, 9, null).singleNodeValue.innerHTML="+ DesiredText);