一尘不染

selenium:使用xpath在div中输入文本

selenium

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

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

但是在1个网页上,我点击了要获得selenium的一个div后有一个按钮,我得到了那个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" />

阅读 1804

收藏
2020-06-26

共1个答案

一尘不染

您可以使用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);
2020-06-26