我将 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/