硒在点击后停止

时间:2016-01-14 07:39:59

标签: java selenium selenium-webdriver

我点击确定按钮。点击成功。之后Selenium没有回应。它也没有抛出任何异常。当我手动关闭浏览器窗口时,它会尝试继续执行。

1 个答案:

答案 0 :(得分:0)

我有同样的效果,所以我自己写了一个自定义的Click()方法,我在这种情况下调用。

对于Internet Explorer,它会进行双击而不是单击,这有时是Selenium工作所必需的。

在Firefox中,我偶尔会遇到异常("不能再按一个按钮或按下按钮"),所以我编写了以下C#代码,在按下它之前明确释放按钮(应该看看)类似于Java):

public static void Click(this IWebElement element, TestParams testParams)
{
    if (testParams.Target.IsFirefox)
    {
        var actions = new Actions(driver);
        actions.MoveToElement(element);

        driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.Zero);
        actions.Release().Build().TryPerform();
        driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(testParams.DefaultTimeoutInSeconds));

        actions.MoveToElement(element);
        actions.Click().Build().Perform();
    }
    else if (testParams.Target.IsInternetExplorer)
    {
        element.DoubleClick(driver);
    }
    else
    {
        element.Click();
    }
}

这并不总是有效,所以我只在必要时调用我的自定义Click()方法。这在我经常测试的站点上产生稳定的结果。