如果浏览器最小化,Selenium Chrome C#不起作用

时间:2014-05-20 18:06:50

标签: c# selenium selenium-webdriver

我将Selenium Chrome驱动程序与我的小.NET应用程序集成在一起。我在谷歌页面上做自动化。只要浏览器可见后台,一切正常并且符合预期。如果我最小化它会在做任何工作之前停止。我有很多代码包含大量显示测试:

        var collection = cdriver.FindElements(By.TagName(@"input"),10);
        //var collection = cdriver.FindElementsByClassName("gwt-TextBox");
        bool found = false;
        IWebElement texter = null;
        do
        {
        foreach (IWebElement element in collection)
        {
            if(element.GetAttribute("class").ToString() == "gwt-TextBox" ) 
            {
                if(element.Displayed==true) { found = true; texter = element; }
            }   
        }
        } while(!found);
        texter.SendKeys(readerCSV.apkTitle);

有没有办法让我最小化chrome窗口,以便在窗口最大化或可见时工作正常的所有代码也可以最小化? 已启用测试无法按预期工作。

另一个例子:

    var btnUpload = cdriver.FindElement(By.Id("gwt-uid-170"),10);
    btnUpload.Click();      

上面的btnUpload.click()代码给了我 QpenQA.Selenium.ElementNotVisibleException

Chrome驱动程序是否有启动选项,因此我可以在没有最小化按钮的情况下启动窗口?

1 个答案:

答案 0 :(得分:-1)

必须将Chrome拔起,因为驱动程序正在检查以确保该元素对用户可见/启用/等。只需停止将其最小化,然后让它在后台运行即可。