java - Selenium : Enter the text in div using xpath

标签 java selenium

在输入框的 selenium 中,我们可以输入如下值:

WebElement inputBox = driver.findElement(By.xpath(xpath)));
inputBox.sendKeys("abc");

但是在 1 个网页上,我在点击那个按钮后得到一个 div,我必须通过 selenium 在其中输入,我正在为那个 div 获取 xpath 就像

WebElement inputDiv = driver.findElement(By.xpath("//div[contains(@class,'x-grid3-cell-inner')]"));
inputDiv.sendKeys("abc");           //This is not working

使用 xpath,我得到了 div,但是如何使用它的 xpath 在其中输入文本?

手动添加文本后的HTML:

<div class="x-grid3-cell-inner">ty</div>

我必须在其中输入文本的 div 是:

<div class="x-grid3-cell-inner" />

最佳答案

您可以使用 JavaScript 更新 DIV 文本

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('Div_Id').innerHTML="+ DesiredText);

在 JavaScript 中使用 XPATH

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

Reference

关于java - Selenium : Enter the text in div using xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23775924/

相关文章:

c# - 将 C# 翻译成 Powershell

python - 无法使用selenium同时从两个不同深度收集信息

java - 为什么 ViewGroup 中的某些 protected 方法不可重写并且不在文档中?

java - Java在WAV播放时崩溃

Java,默认编码

java - Cucumber:初始化然后在步骤定义之间传递数据?

python - 无法使用 selenium webdriver 通过 id 延迟获取元素

java - 如何保持 executorService 运行?

java - 是否建议在非常密集的线程运行期间 sleep ()?

java - 如何检查非输入文本元素在 Selenium 中是否可单击? ( java )