python selenium Chrome模拟手机浏览器(十七)
2021/5/20 12:27:48
本文主要是介绍python selenium Chrome模拟手机浏览器(十七),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在做移动端页面测试时可以利用Chrome mobile emulation 辅助完成页面的适配问题,但是目前手机市场上的型号居多我们也没有办法通过人工的模式一一的去适配,所以这里考虑到通过自动化的模式来模拟,下面介绍两种方式通过selenium调用Chrome mobile emulation来完成自动化测试。
1.通过device name模拟的手机型号,示例代码如下
# -*- coding: utf-8 -*- # @Time : 2017/11/30 15:42 # @Author : Hunk # @File : ex81.py # @Software: PyCharm import time from selenium import webdriver mobileEmulation = {'deviceName': 'Apple iPhone 4'} options = webdriver.ChromeOptions() options.add_experimental_option('mobileEmulation', mobileEmulation) driver = webdriver.Chrome(chrome_options=options) driver.get('http://m.baidu.com') time.sleep(3) driver.close()
附录:
deviceName列表
mobile_emulation = { "deviceName": "Apple iPhone 3GS", "deviceName": "Apple iPhone 4", "deviceName": "Apple iPhone 5", "deviceName": "Apple iPhone 6", "deviceName": "Apple iPhone 6 Plus", "deviceName": "BlackBerry Z10", "deviceName": "BlackBerry Z30", "deviceName": "Google Nexus 4", "deviceName": "Google Nexus 5", "deviceName": "Google Nexus S", "deviceName": "HTC Evo, Touch HD, Desire HD, Desire", "deviceName": "HTC One X, EVO LTE", "deviceName": "HTC Sensation, Evo 3D", "deviceName": "LG Optimus 2X, Optimus 3D, Optimus Black", "deviceName": "LG Optimus G", "deviceName": "LG Optimus LTE, Optimus 4X HD" , "deviceName": "LG Optimus One", "deviceName": "Motorola Defy, Droid, Droid X, Milestone", "deviceName": "Motorola Droid 3, Droid 4, Droid Razr, Atrix 4G, Atrix 2", "deviceName": "Motorola Droid Razr HD", "deviceName": "Nokia C5, C6, C7, N97, N8, X7", "deviceName": "Nokia Lumia 7X0, Lumia 8XX, Lumia 900, N800, N810, N900", "deviceName": "Samsung Galaxy Note 3", "deviceName": "Samsung Galaxy Note II", "deviceName": "Samsung Galaxy Note", "deviceName": "Samsung Galaxy S III, Galaxy Nexus", "deviceName": "Samsung Galaxy S, S II, W", "deviceName": "Samsung Galaxy S4", "deviceName": "Sony Xperia S, Ion", "deviceName": "Sony Xperia Sola, U", "deviceName": "Sony Xperia Z, Z1", "deviceName": "Amazon Kindle Fire HDX 7″", "deviceName": "Amazon Kindle Fire HDX 8.9″", "deviceName": "Amazon Kindle Fire (First Generation)", "deviceName": "Apple iPad 1 / 2 / iPad Mini", "deviceName": "Apple iPad 3 / 4", "deviceName": "BlackBerry PlayBook", "deviceName": "Google Nexus 10", "deviceName": "Google Nexus 7 2", "deviceName": "Google Nexus 7", "deviceName": "Motorola Xoom, Xyboard", "deviceName": "Samsung Galaxy Tab 7.7, 8.9, 10.1", "deviceName": "Samsung Galaxy Tab", "deviceName": "Notebook with touch", "deviceName": "iPhone 6" }
2.设置指定分辨率,示例代码如下:
# -*- coding: utf-8 -*- # @Time : 2017/11/30 15:42 # @Author : Hunk # @File : ex81.py # @Software: PyCharm import time from selenium import webdriver WIDTH = 320 # 宽度 HEIGHT = 640 # 高度 PIXEL_RATIO = 3.0 # 分辨率 mobileEmulation = {"deviceMetrics": {"width": WIDTH, "height": HEIGHT, "pixelRatio": PIXEL_RATIO}} options = webdriver.ChromeOptions() options.add_experimental_option('mobileEmulation', mobileEmulation) driver = webdriver.Chrome(chrome_options=options) driver.get('http://m.baidu.com') time.sleep(3) driver.close()
这篇关于python selenium Chrome模拟手机浏览器(十七)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程