首页 > 解决方案 > 使用 selenium 作为 Android 设备打开网站

问题描述

我想制作一个“在移动视图中”打开网站的程序,我真的不知道如何调用它,但我希望网站认为我正在使用安卓手机。

我已经尝试使用 ChromeOptions 并更改用户代理,但不知何故它不起作用。

ChromeOptions options = new ChromeOptions();
options.AddArgument("user-agent=Mozilla/5.0 (Linux; Android 8.1.0; Phone) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36");

driver = new ChromeDriver("./", options);

标签: c#androidselenium

解决方案


站点有使用移动仿真的详细文档。

此外,ChromeDriver v 2.11之后有 mobileEmulation 选项。对于 C# 使用类似这样的东西,

        ChromeOptions chromeOptions = new ChromeOptions();

        chromeOptions.EnableMobileEmulation("Pixel 2");
        chromeOptions.AddUserProfilePreference("safebrowsing.enabled", true);
        chromeOptions.AddUserProfilePreference("credentials_enable_service", false);
        chromeOptions.AddUserProfilePreference("profile.password_manager_enabled", false);

        ChromeDriverService service = ChromeDriverService.CreateDefaultService(@"C:\chromedriver");

        IWebDriver driver = new ChromeDriver(service, chromeOptions);

您可以输入所需的设备,如 iPhone X、iPad Pro、三星 s7 等。

还要记住,EnableMobileEmulation("deviceName");

deviceName: 要模拟的设备的名称。设备名称必须是 Chrome DevTools Emulation 面板中的有效设备名称。 注意:指定一个无效的设备名称不会抛出异常,但会在驱动启动时在 Chrome 中产生错误。要取消设置移动仿真,请使用 null 作为参数调用此方法。


推荐阅读