当前位置: 首页 > 面试题库 >

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

汪同
2023-03-14
问题内容

在输入框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" />

问题答案:

您可以使用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是:

  • 我正在尝试创建一个机器人,在各种TikTok帖子上留下评论,其中一些帖子需要留下一个提及,例如用户名。问题是,TikTok的注释框是一个div元素,而不是一个input元素。 首先,我知道这个StackOverflow帖子,对一些人来说,它只是说使用javascript更新div值。问题是,如果编辑代码,它将不会显示用户名下拉菜单 “用户名下拉菜单”是什么? 这是一个小菜单,上面有你想要提及的用户

  • 我在Firefox中使用Firebug为没有分配ID的链接获取xpath。该链接是一个带有图像作为实际按钮的javascript链接。我希望能够单击此链接,但它不起作用。 实际的xpath是'/html/body/div[2]/div/div/div[3]/div/div/table/tbody/tr[1]/td[2]/form/table/tbody/tr[1]/td/div[1]/div/ta

  • 我有一个HTML元素. 加载页面后,我可以使用从该元素获取文本。 但随后我点击这个元素并更改里面的文本(例如,改为“已编辑”)。DOM中没有任何变化,包括属性 的值(即仍然返回“initial”,并且DOM中的元素看起来像) 如何提取现在在浏览器中可见的值(即字符串“已编辑”)?我需要执行一些JavaScript或其他东西吗?

  • 我正在使用java使用Selenium在2个文本框中输入文本。我可以在第一个文本框中输入文本,但在第二个文本框中,我不断得到元素不可见异常 HTML代码。。 Java代码。。 错误: 组织。openqa。硒。ElementNotVisibleException:元素当前不可见,因此可能无法与命令持续时间或超时交互:19毫秒生成信息:版本:“2.53.1”,版本:“a36b8b1”,时间:“2016