首页 > 解决方案 > 除了用户代理切换之外的 Selenium 移动浏览器测试因素

问题描述

在此处输入图像描述

我想用 selenium 和 chrome 测试多个移动用户代理。我发现当我使用 chrome 扩展“Google Chrome 的用户代理切换器”时(请参阅上面屏幕截图中的信息),大多数网站都会接受 chrome 作为移动版本。但是,如果我使用 selenium :

ua = 'Mozilla/5.0 (Linux; Android 7.0; LG-TP260 Build/NRD90U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 Mobile Safari/537.36'

options = webdriver.ChromeOptions()
ua_string = 'user-agent=' + ua
options.add_argument(ua_string)
webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, options=options)

行为是不同的,它并不总是被识别为移动 chrome。除了用户代理,还有其他需要设置的因素吗?

标签: pythongoogle-chromeselenium

解决方案


如果我理解正确,您将无法使用 selenium 在 chrome 上模拟移动行为。

您可以使用可在 selenium / chromedriver 中使用的 EnableMobileEmulation 选项。(C#)

options.EnableMobileEmulation(deviceName); 
driver = new ChromeDriver(options);

此代码将使用给定的设备名称以移动仿真模式启动 chrome。您可以拥有自己的自定义设备设置,您可以在其中设置分辨率、用户代理等。


推荐阅读