You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Selenium RemoteDriver中默认以桌面视图打开非响应式移动端站点

没问题!要解决这个问题,你完全可以通过配置RemoteDriver的Chrome参数,让浏览器默认以桌面视图加载网站,不用手动切换。下面给你两种实用的实现方案,都是基于你用的C#环境:

方法1:通过ChromeOptions模拟桌面设备(推荐)

这种方法直接告诉Chrome要模拟桌面环境,是最可靠的方式,能完美还原手动切换桌面视图的效果:

[TestMethod]
public void TestMethod1()
{
    // 初始化Chrome配置项
    ChromeOptions options = new ChromeOptions();
    
    // 配置模拟桌面视图
    Dictionary<string, object> mobileEmulation = new Dictionary<string, object>();
    mobileEmulation.Add("deviceName", "desktop"); // 直接指定桌面设备类型
    
    // 如果你需要更精细的控制,也可以自定义用户代理和窗口尺寸(可选)
    // mobileEmulation.Add("userAgent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36");
    // options.AddArgument("--window-size=1920,1080");
    
    options.AddAdditionalCapability("mobileEmulation", mobileEmulation);
    
    // 转换为DesiredCapabilities适配RemoteDriver
    DesiredCapabilities caps = (DesiredCapabilities)options.ToCapabilities();
    
    // 初始化RemoteDriver,替换成你的远程网格地址
    IWebDriver driver = new RemoteWebDriver(new Uri("http://your-remote-grid-url:4444/wd/hub"), caps);
    
    // 访问目标站点,此时默认是桌面视图
    driver.Navigate().GoToUrl("https://your-target-site.com");
    
    // 现在菜单应该可以正常点击了
}
方法2:直接设置桌面端User-Agent

有些网站仅通过User-Agent判断设备类型,这种情况下直接设置桌面的User-Agent就能生效,同时搭配窗口尺寸设置效果更好:

[TestMethod]
public void TestMethod1()
{
    ChromeOptions options = new ChromeOptions();
    
    // 添加桌面端的User-Agent参数
    options.AddArgument("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36");
    // 设置桌面级窗口分辨率,确保页面渲染符合桌面视图
    options.AddArgument("--window-size=1920,1080");
    
    // 转换为DesiredCapabilities
    DesiredCapabilities caps = (DesiredCapabilities)options.ToCapabilities();
    
    // 初始化RemoteDriver
    IWebDriver driver = new RemoteWebDriver(new Uri("http://your-remote-grid-url:4444/wd/hub"), caps);
    
    driver.Navigate().GoToUrl("https://your-target-site.com");
}

注意事项

  • 确保你的Selenium版本和RemoteDriver对应的ChromeDriver、Chrome浏览器版本兼容,版本不匹配可能导致配置不生效。
  • 如果使用旧版Selenium,ToCapabilities()的用法可能略有不同,你也可以直接将ChromeOptions的参数添加到DesiredCapabilities中。
  • 部分严格的网站可能同时校验User-Agent和窗口尺寸,建议两种参数同时设置,保证模拟的真实性。

内容的提问来源于stack exchange,提问作者Deepan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:58:52