c# - 有没有办法在 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;
}
解决方案
推荐阅读
- angular - Angular (10) 材质 touchUi datepicker - 不能选择任何东西
- bash - /bin/bash: 无效选项ash: -
- java - 当我单击主页 GUI 上的按钮时,会打开一个空白 GUI
- oracle - Oracle PL/SQL - 如果不满足条件,则退出开始结束块
- java - 如果数组中的每个元素都相等,则打印一个元素,而如果所有元素不相等,则打印最大的元素
- javascript - 谷歌脚本删除行
- c# - C# 写入 8 位数据包,分成 3 个整数
- angular - 如何使用带条件的 ConcatMap 进行多个 API 调用
- python - python pyautogui.dragRel 不生效(拖动窗口)
- c++ - std::exchange 与 VC++ 和 gcc 的工作方式不同