【问题标题】:click() not working occassionally in seleniumclick() 在硒中偶尔不起作用
【发布时间】:2014-11-01 23:09:34
【问题描述】:

我在 selenium webdriver 中编写了一个脚本,它使用 click() 点击一个“dojo”元素的按钮。

以前它工作正常,但现在不工作,我尝试了所有可能的方法使其工作(使用 javascipt、等待元素存在、检查启用和禁用选项等),但似乎没有任何工作。

如果有人能帮我解决这个问题,我将不胜感激。提前致谢。我附上脚本和 html 代码供您参考。

public void Search_Project_Test(String Project_name,String Os_type,String Start_rel,String End_rel) throws InterruptedException, IOException
     {
        this.Software_type.click();

        this.select_os_type(Os_type);

        this.search_proj.sendKeys(Project_name);
        com.wait_till_pageload();
        SORA_Constants.driver.findElement(By.xpath("//button[@id='submit_project_search']")).click();

        Thread.sleep(5000);

【问题讨论】:

  • 定义“不工作”有例外吗?什么都没有发生?查看您尝试与之交互的元素的 HTML 也会很有帮助。
  • 什么都没有发生,甚至没有抛出异常。这里是 html 代码“
  • 你用的是什么版本的FF和Selenium?
  • 我使用的是 firefox 31.0 和 selenium 2.42.2
  • @NilamberSingh ,我不确定,但似乎 selenium 2.41 版仅支持 Firefox 28,并且在 selenium 2.42.2 中没有提及 Firefox 31。我建议将 Firefox 降级到 28。

标签: selenium selenium-webdriver


【解决方案1】:

试试这个!并检查该元素在页面上是否可见

SORA_Constants.driver.findElement(By.id("submit_project_search")).click();

【讨论】:

  • 如前所述,我已经尝试了每一件事。问题不在于识别元素,问题在于 click() 既没有点击也没有给出任何异常,例如找不到元素或元素不可见。
  • SORA_Constants.driver.findElement(By.id("submit_project_search")).submit();
【解决方案2】:

它终于工作了,我所做的只是升级了 FireFox 版本。我使用的是 23.0,后来切换到 26.0 解决了这个问题。我从来不知道 selenium 在不同版本的 Firefox 中是否存在此类问题。希望以后如果有人遇到类似的情况,那么这可能会有所帮助。 :)

【讨论】:

    【解决方案3】:

    试试这个:

    SORA_Constants.driver.findElement(By.xpath("//button[@id='submit_project_search']")).SendKeys("\n");
    

    或:

    SORA_Constants.driver.findElement(By.xpath("//button[@id='submit_project_search']")).SendKeys(Keys.Enter);
    

    【讨论】:

      猜你喜欢
      • 2021-01-10
      • 2016-05-17
      • 2019-01-16
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多