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模拟手机浏览器的更多相关文章
- python selenium Chrome模拟手机浏览器(十七)
在做移动端页面测试时可以利用Chrome mobile emulation 辅助完成页面的适配问题,但是目前手机市场上的型号居多我们也没有办法通过人工的模式一一的去适配,所以这里考虑到通过自动化的模式 ...
- Selenium操作Chrome模拟手机浏览器
目录 使用指定设备 使用自定义设备 在使用Chrome浏览网页时,我们可以使用Chrome开发者工具模拟手机浏览器,在使用Selenium操作Chrome时同样也可以模拟手机浏览器.主要有以下两种用途 ...
- Chrome模拟手机浏览器(iOS/Android)的三种方法,亲测无误!
大网站都有推出自己的手机访问版本页面,不管是新闻类还是视频网站,我们在电脑是无法直接访问到手机网站的,比如我经常访问一个3g.qq.com这个手机站点,如果在电脑上直接打开它,则会跳转到其它页面,一般 ...
- 用Fiddler可以设置浏览器的UA 和 手动 --Chrome模拟手机浏览器(iOS/Android)的三种方法,亲测无误!
附加以一种软件的方法是:用Fiddler可以设置浏览器的UA 以下3种方法是手动的 通过伪装User-Agent,将浏览器模拟成Android设备. 第一种方法:新建Chrome快捷方式 右击桌面上的 ...
- 怎样使用Chrome模拟手机浏览器測试移动端网站
作者:zhanhailiang 日期:2014-10-10 环境说明: Chrome 37.0.2062.124 m 1. 通过[菜单→工具→开发人员工具|Javascript控制台]或[快捷键Ctr ...
- RobotFramework模拟手机浏览器
转自 http://blog.csdn.net/max229max/article/details/70808867 感谢max bai提供的思路 Python - Selenium Chrome 模 ...
- python自动化--mock、webservice及webdriver模拟手机浏览器
一.mock实现 自定义一个类,用来模拟未完成部分的开发代码 class Say(): def say_hello(self): pass 自定义返回值 import unittest from un ...
- 无插件,直接加参数,chrome它可以模拟手机浏览器
在目标出现,加上一些参数即可:--user-agent="mozilla/5.0 (linux; u; android 2.3.3; en-us; sdk build/ gri34) app ...
- Python+Selenium自动化 模拟鼠标操作
Python+Selenium自动化 模拟鼠标操作 在webdriver中,鼠标的一些操作如:双击.右击.悬停.拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就 ...
随机推荐
- spring boot 操作MySQL pom添加的配置
1 在项目中的pom.xml配置文件添加依赖 <!--MySQL依赖 --> <dependency> <groupId>mysql</groupId> ...
- SVD分解 解齐次线性方程组
SVD分解 只有非方阵才能进行奇异值分解 SVD分解:把矩阵分解为 特征向量矩阵+缩放矩阵+旋转矩阵 定义 设\(A∈R^{m×n}\),且$ rank(A) = r (r > 0) $,则矩阵 ...
- Spring Cloud微服务Ribbon负载均衡/Zuul网关使用
客户端负载均衡,当服务节点出现问题时进行调节或是在正常情况下进行 服务调度.所谓的负载均衡,就是当服务提供的数量和调用方对服务进行 取舍的调节问题,在spring cloud中是通过Ribbon来解决 ...
- 通过注解配置Bean
之前说的三种配置方式,都是使用XML配置,现在我们说说使用注解配置Bean. 这部分内容主要分为两个部分:使用注解配置Bean,使用注解配置Bean属性. 在classpath中扫描组件 组件扫描:S ...
- spring和mybatis的整合配置
参考自: http://www.cnblogs.com/wangmingshun/p/5674633.html 链接中的文章里一共有三种整合方式,太多了怕记混了. 我这里只保留第二种. spring中 ...
- 金融量化之Tushare模块
一.介绍 Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据存储的过程,能够为金融分析人员提供快速.整洁.和多样的便于分析的数据,为他们 ...
- python代码格式
1,函数名:不要大写,都用小写,单词之间用下划线分隔 2,注释:注释的时候#后面要带空格 3,方法与方法之间空格两行 4,使用方法时,里面的参数用 逗号和空格 隔开 5,使用方法时,里面的参数“= ...
- python常用函数用法整理
1,zeros函数(同理的还有ones函数) http://www.jb51.net/article/127649.htm 注意: (m,n)是生成m行n列的矩阵,但要生成二维矩阵的时候要用两层括号, ...
- Vs2010项目升级到Vs2015时的一些修改
之前的C++/cli项目, Civil 3D版本为2014, 现在需要升级到2018版, 在升级的过程中遇到了一些问题: 为了备忘, 记录如下: Vcproj文件中进行了一些修改, 为了跟多版本项目的 ...
- css常用单位
css常用单位 本文来简单介绍下css的常用单位. 绝对长度单位 绝对长度单位代表一个物理测量. 像素px(pixels) 在web上,像素px是典型的度量单位,很多其他长度单位直接映射成像素.最终, ...