Selenium WebDriver - Chrome - C# - 无法在隐身模式下启动selenium浏览器作为最大化的浏览器

问题描述 投票:1回答:3

我有一个Selenium套件,有150个测试用例。测试必须在Chrome浏览器中以隐身模式运行。

我能够以隐身模式启动浏览器。但问题是浏览器没有达到最大化(例如,对于10个测试用例以及浏览器以最大化模式启动的140个测试用例),尽管有一个代码可以最大化浏览器。

结果,一些测试失败(全部10测试)。

以下是我的代码

                desiredCapabilities = DesiredCapabilities.Chrome();
                var options = new ChromeOptions();
                options.AddArgument(@"--incognito");
                options.AddArgument("--start-maximized");
                desiredCapabilities.SetCapability(ChromeOptions.Capability, options);
                webDriver = new MyWebDriver(new Uri(gridHubURL), options.ToCapabilities(),TimeSpan.FromSeconds(ApplicationConfiguration.RemoteDriverTimeOutValue),testContext);
                break;

有没有办法确保浏览器始终(100%)以最大化模式启动。

浏览器未最大化时,单击操作失败。

System.InvalidOperationException:未知错误:元素在点(886,466)处无法单击。其他元素将收到点击:

出于这个原因,我想以最大化模式运行。在最大化模式下,我没有收到此错误。请帮忙 。

谢谢

c# selenium selenium-webdriver webdriver selenium-chromedriver
3个回答
2
投票

试试这段代码:

ChromeOptions options = new ChromeOptions();
options.AddArguments("--incognito");
IWebDriver driver = new ChromeDriver("C://",options);

这个对我有用


0
投票

另一种方法是设置初始大小:

options.AddArgument("--window-size=1024,768");

您还可以设置一些极端值。然后窗口应具有屏幕大小,因为操作系统限制它(至少在Windows上):

options.AddArgument("--window-size=32000,32000");

0
投票

可以做这样的事情:

desiredCapabilities = DesiredCapabilities.Chrome();
var options = new ChromeOptions();
options.AddArgument(@"--incognito");
options.AddArgument("--start-maximized");
desiredCapabilities.SetCapability(ChromeOptions.Capability, options);
webDriver = new MyWebDriver(new Uri(gridHubURL), options.ToCapabilities(),TimeSpan.FromSeconds(ApplicationConfiguration.RemoteDriverTimeOutValue),testContext);

webDriver.Manage().Window.Maximize();
 break; 

它需要在webDriver打开之后,但它会为你最大化窗口。

试试这个,我已经测试过,应该没问题

  var caps = DesiredCapabilities.Chrome();
            var options = new ChromeOptions();

            options.AddArgument(@"--incognito");
            options.AddArgument(@"--start-maximized");
            caps.SetCapability(ChromeOptions.Capability, options);



            var webdriver = new ChromeDriver(options);
            webdriver.Navigate().GoToUrl("http://yourURL.com");
            webdriver.Manage().Window.Maximize();
© www.soinside.com 2019 - 2024. All rights reserved.