首页 > 解决方案 > 有没有办法在 selenium c# MSTest 中以移动仿真模式打开 firefox 驱动程序

问题描述

目前,我在使用 MS Test 的 selenium c# 中以移动仿真模式打开 firefox 浏览器时遇到困难,有人可以帮我吗?

Firefox 代码

private static IWebDriver GetFireFoxDriver(string userAgent)
        {
            var rand = new Random();
            var firefox_options = new FirefoxOptions();
            firefox_options.AddArgument("-private");
            firefox_options.AddArguments("--window-size=1024,768");
            firefox_options.AddArguments("--window-position=0,0");
            firefox_options.AddArgument($"--user-agent= {userAgent}");
            firefox_options.AddArgument("--disable-backgrounding-occluded-windows");
            
                var driver = new FirefoxDriver("C:\\selenium\\firefoxdriver", firefox_options, TimeSpan.FromMinutes(3));
            if (userAgent.Contains("Mobile") == true)
            {
                driver.Manage().Window.Size = new Size(411, 731);
            }
            return driver;

        }

我在 Chrome 浏览器中完成了 - 移动仿真

private static IWebDriver GetChromeDriver(string userAgent)
        {
            var options = new ChromeOptions();

            options.AddArgument("incognito");
            options.AddArguments("disable-infobars");

            //Session 0 limit - 1024 x 768
            options.AddArguments("--window-size=1024,768");
            options.AddArguments("--window-position=0,0");
            options.AddArgument($"--user-agent= {userAgent}");
            if (userAgent.Contains("Mobile") == true)
            {
                // Commenting "EnableMobileEmulation" with Device Name - as it overrides the set Driver's userAgent value
                // Added Device Settings to pass userAgent and explicit values of Mobile Device - To avoid captcha block
                var settings = new ChromeMobileEmulationDeviceSettings(userAgent)
                {
                    Height = 731,
                    Width = 411,
                    PixelRatio = 2.6
                };
                options.EnableMobileEmulation(settings);

                //options.EnableMobileEmulation("Pixel 2");
            }
            options.AddArgument("--disable-backgrounding-occluded-windows");

            //options.BinaryLocation = @"C:\Program Files\Google\Chrome\Application\chrome.exe";

            ChromeDriverService service = ChromeDriverService.CreateDefaultService();
            service.SuppressInitialDiagnosticInformation = true;

            var driver = new ChromeDriver(service, options, TimeSpan.FromMinutes(3));
            return driver;
        }

标签: c#selenium-webdrivervisual-studio-2019mstestgeckodriver

解决方案


推荐阅读