如何使用Selenium将文本发送到div元素中的textarea

时间:2018-05-30 15:40:42

标签: java selenium selenium-webdriver

Screenshot of div element which has hidden textarea

如何使用 Selenium Automation 发送文本或向textarea框提供输入?

这是一个div元素style="overflow:hidden"。我尝试过使用XPath,但它对我不起作用。

如何为图片中显示的textarea提供输入?

3 个答案:

答案 0 :(得分:1)

试试这个:

driver.findElement(By.xpath("//div[@class='input_area']//textarea"))
      .sendKeys("Your Value");

答案 1 :(得分:0)

我相信你错了几件事:

  1. 您不会向div发送文本,而是将其发送到textarea。
  2. textarea没有隐藏*的风格。在您提供的屏幕截图中非常明显。
  3. 父div没有隐藏*的样式。如果确实如此,你就无法看到孩子的文字区域。
  4. 父div 确实拥有style="overflow: hidden",其中只隐藏了在其内容中无法看到的内容,但它并未隐藏整个元素。
  5. 我希望这会有所帮助。我建议在进一步尝试自动化页面之前刷新HTML和CSS。

    *可能有一个外部CSS文件可以应用隐藏的样式,但由于我们可以在截图中看到textarea,我不相信这种情况。

答案 2 :(得分:0)

select distinct name, id from table1 a where not exists (select * from table1 b where a.id=b.id and state<>4) 上面的父元素可能位于textarea内。请检查您网页的HTML代码,并查找包含frame

的所有框架

如果是这样,您可以在执行textarea之前暂时切换到框架:

sendKeys()。您可以从以下任何签名中进行选择。

driver.switchTo().frame(arg)
相关问题