Chromedriver 导航到移动网站,而不是 Centos 上的网络版本



我在 centos 上运行无头 chrome,与

headless chrome version 2.38,
and google-chrome-stable version 67.0,
selenium 3.12

当尝试使用驱动程序打开站点时,它不会在 centos 上打开网站的实际网络版本,在 macOS 上同样工作正常。

使用以下给定的铬选项:

"CHROME_OPTIONS" : [ 
"--headless", 
"----disable-gpu", 
"--ignore-certificate-errors", 
"window-size=1920,1080" ]

不明白为什么它以这种方式工作

我假设"网络版本"是指您的 Web 应用程序既有"桌面"又有"移动"演示文稿。如果是这种情况,Web 应用程序通常有两种不同的方法来检测客户端是移动浏览器还是桌面浏览器:

  1. Web 服务器检查用户代理以查看浏览器是否明确标记为移动版本
  2. Web 应用程序前端根据运行它的窗口的 DPI 测量值执行计算

第一种方法很少再出现,很容易被颠覆。如果浏览器未在无头模式下运行,则第二种方法很容易诊断。看起来浏览器应该以 1920x1080 的分辨率加载桌面版本,但这不是 DPI 的工作方式。DPI 是一个缩放因子,可能因操作系统而异(这可以解释为什么您的设置在 macOS 上运行(。若要消除此潜在问题,请尝试向CHROME_OPTIONS参数添加--force-device-scale-factor=1,然后再次运行测试。

相关内容

  • 没有找到相关文章

最新更新