【问题标题】:OpenQA.Selenium.ElementNotInteractableException : element not interactableOpenQA.Selenium.ElementNotInteractableException:元素不可交互
【发布时间】:2021-04-29 19:09:45
【问题描述】:

我正在做一些测试,当我使用我已经工作过的searcher 运行测试时,出现了这个错误

System.Reflection.TargetInvocationException : Exception has been thrown by the target of an invocation.
  ----> OpenQA.Selenium.ElementNotInteractableException : element not interactable

然后我尝试运行一个我知道有效的测试,当该使用搜索器时,出现相同的错误,这有点奇怪,因为我没有看到 HTML 代码有任何差异,而搜索器确实如果我手动进入页面就可以工作。

这是我操纵搜索器的代码:

[FindsBy(How = How.CssSelector, Using = "input")]
private IWebElement buscadorConfig;

public ConfigurationUsuario buscarTabla(string input_search)
{
       buscadorConfig.SendKeys(input_search);
       return new ConfigurationUsuario(driver);
}

以下是使用它的任何测试的示例:

        usuario.clickConfiguration();
        System.Threading.Thread.Sleep(2000);
        
        configuracion.buscarTabla("041097");
        System.Threading.Thread.Sleep(2000);

这是搜索器的 HTML 代码:

<div id="table_filter" class="dataTables_filter">
<label>Search:<input type="search" class="" placeholder="" aria-controls="table"></label>
</div>

说实话,我不知道为什么搜索者突然停止在我的测试脚本中工作,我有 10 个测试使用它并且知道它们都不起作用,我真的改变了任何东西,我不知道如果开发人员这样做了,但我希望你们能帮助我。

【问题讨论】:

    标签: c# visual-studio selenium selenium-webdriver css-selectors


    【解决方案1】:

    您可以使用更规范的Locator Strategy,如下所示:

    [FindsBy(How = How.CssSelector, Using = "input[aria-controls='table'][type='search']")]
    private IWebElement buscadorConfig;
    

    【讨论】:

      猜你喜欢
      • 2021-10-28
      • 2021-10-20
      • 2021-07-08
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-08
      • 2021-12-16
      相关资源
      最近更新 更多