Selenium Chrome模拟手机浏览器:设备预设与自定义参数详解
本文解析如何利用Selenium控制Chrome浏览器模拟移动端环境。通过ChromeOptions配置mobileEmulation,可调用预设设备名称(如iPhone X)或自定义设备指标(宽度、高度、像素比及User-Agent)。该方法适用于H5页面兼容性测试及降低移动端反爬策略影响,提供完整代码示例与参数说明。
Selenium模拟手机浏览器的应用场景
在使用Chrome浏览器访问网页时,开发者可以通过内置的开发者工具来模拟手机浏览器的行为。同样地,在使用Selenium自动化操作Chrome浏览器时,也支持模拟手机浏览器环境。这一功能主要应用于以下两个场景。
首先,用于测试H5页面在不同分辨率设备上的显示效果是否正常;其次,用于爬取数据,因为一般网站对移动设备浏览器的反爬策略相对较弱。
使用预设设备名称进行模拟
操作方法十分简便,只需在初始化ChromeOptions浏览器选项时,添加实验性选项mobileEmulation,并通过deviceName参数指定要模拟的设备型号即可。具体操作代码如下。
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_experimental_option('mobileEmulation', {'deviceName': 'iPhone X'}) # 模拟iPhone X浏览
driver = webdriver.Chrome(options=options)
driver.get('http://m.baidu.com')
操作效果如下图所示:

Chrome开发者工具中预置了多种设备类型,用户可以在开发者工具的Settings(设置)-> Devices(设备)菜单中查看可用列表,具体界面如下图所示:

自定义设备指标参数配置
若需使用自定义设备配置,
mobileEmulation选项除了可以通过deviceName指定预设设备外,还可以通过deviceMetrics参数手动指定设备指标。通常包含的设备指标参数有:
- width:设备屏幕宽度
- height:设备屏幕高度
- piexelRatio:设备像素密度
- userAgent:设备浏览器标识字符串
具体使用示例如下代码所示:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_experimental_option('mobileEmulation',
{'deviceMetrics':{'width': 320,
'height': 640,
'piexelRatio': 3.0,
'userAgent': 'Mozilla/5.0 (Linux; Android 4.1.1; GT-N7100 Build/JRO03C) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/35.0.1916.138 Mobile Safari/537.36 T7/6.3'
}
}
)
driver = webdriver.Chrome(options=options)
driver.get('http://m.baidu.com')
当然,如果仅需测试不同分辨率下的显示效果,也可以仅设置width和height这两个数值。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









