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

在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:

 
ty

我必须输入文本的div是:

 

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

参考

您无法使用发送密钥编辑此div,因为它没有要发送的输入。 相反,请尝试编辑div的文本字段。