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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium WebDriver - Chrome - C# - 无法在隐身模式下启动selenium浏览器作为最大化的浏览器相关的知识,希望对你有一定的参考价值。

我有一个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)处无法单击。其他元素将收到点击:

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

谢谢

答案

试试这段代码:

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

这个对我有用

另一答案

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

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

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

options.AddArgument("--window-size=32000,32000");
另一答案

可以做这样的事情:

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();

以上是关于Selenium WebDriver - Chrome - C# - 无法在隐身模式下启动selenium浏览器作为最大化的浏览器的主要内容,如果未能解决你的问题,请参考以下文章

Selenium chrome配置不加载图片

Selenium:用By定位元素鼠标事件键盘事件

Python3+Selenium3自动化测试

爬虫之selenium模块

爬虫3:html页面+webdriver模块+demo

如何在 Python + Selenium 中创建随机用户代理?