c# - 如果浏览器最小化,Selenium Chrome C# 将无法工作

标签 c# selenium selenium-webdriver

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

        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 驱动程序是否有启动选项,以便我可以在没有最小化按钮的情况下启动窗口?

最佳答案

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

关于c# - 如果浏览器最小化,Selenium Chrome C# 将无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23766935/

相关文章:

python - 无法从网页获取表格内的所有 pdf 链接

css - 如何在 Junit 框架中使用 seleniumRC 来动态改变 elementids

java - 数组列表到 Collection<Object>

javascript - 无法使用 selenium webdriver 单击登录按钮?

c# - 来自 UWP 的 MySQL 远程连接有套接字错误,但 TCP 连接

c# - List<T> 上的 LINQ 查询根据最小值获取 List<U>

c# - 扩展方法、T的Func和T的List

c# - 根据DataGridView中的屏幕大小调整列宽(WinForms)

python - 从 apache2 开始 selenium session

java - 当行的第一列为空时 Excel Write 不起作用