【问题标题】:Getting ElementNotInteractableException for sendKeys statement为 sendKeys 语句获取 ElementNotInteractableException
【发布时间】:2021-02-08 15:06:14
【问题描述】:

尝试执行代码但得到:

ElementNotInteractableException: element not interactable 

对于下面的 sendKeys 语句。有什么解决办法??

WebElement ss = driver.findElement(By.cssSelector("div[class='select__single-value css-1uccc91-singleValue']"));
ss.click();
ss.sendKeys("abc");

【问题讨论】:

  • 使用 sendkeys 输入元素而不是 div
  • 我只使用了sendkeys,正如你在上一条语句中看到的那样。这就是我面临错误的地方
  • @在 而不是
    上使用它
  • 以h开头的dine元素

标签: java selenium selenium-webdriver webdriver


【解决方案1】:

一般<div> 标签不是interactable,除非 [contenteditable="true"] (How to modify the innerHTML of a contenteditable element) 是明确设置的属性。


解决方案

如果您的用例是调用 click() / sendKeys(),通常您必须在 <input> 元素上调用,而不是在 <div> 上调用。尝试使用inspector 打开 来识别元素并识别所需的<input> 元素。


参考文献

您可以在ElementNotInteractableException 找到一些相关的详细讨论:

【讨论】:

    【解决方案2】:

    请确保您使用的路径正确,因为 div 标签通常不可交互。

    By.cssSelector("div[class='select__single-value css-1uccc91-singleValue']");
    

    在这里,您正在使用 selenium 中不再允许的复合类。 所以,尝试使用:

    By.cssSelector("div[class='.select__single-value.css-1uccc91-singleValue']");
    

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签