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类中,我们只用在需要使用的时候,导入这个类就 ...
随机推荐
- Flutter之Decoration(边框、圆角、阴影、形状、渐变、背景图像等)
1 继续关系: BoxDecoration:实现边框.圆角.阴影.形状.渐变.背景图像 ShapeDecoration:实现四个边分别指定颜色和宽度.底部线.矩形边色.圆形边色.体育场(竖向椭圆). ...
- T66597 小xzy的任务 题解
T66597 小xzy的任务 题目背景 今天,小xzy的班主任交给他一个严肃的任务,匹配羽毛球运动员! ! ! 题目描述 羽毛球队有男女运动员各n人.给定2个n×n矩阵P和Q.Pij是男运动员i和女 ...
- H5的表格
表格标签<table> 绘制表格的标签:<table>标签 表格标题:<caption>标签 表格宽度与高度:width和height属性 表格边框色:border ...
- [模板] dp套dp && bzoj5336: [TJOI2018]party
Description Problem 5336. -- [TJOI2018]party Solution 神奇的dp套dp... 考虑lcs的转移方程: \[ lcs[i][j]=\begin{ca ...
- java垃圾回收GC
垃圾回收时,暂停虚拟机运行 基础假设:大部分对象只存在很短的时间 对于新生代,Minor GC经常会发生 Major/Full GC会对老生代做GC 老生代GC采用Compact算法,移动形成完整的空 ...
- 关于base64转码解码
刚好涉及到记录一下 1.JS BASE64 解码和编码 js代码: /** * * Base64 encode / decode * * @author haitao.tu * @date 2010- ...
- purge旧的ubuntu 的linux内核
https://www.sysgeek.cn/remove-old-kernels-ubuntu-16-04/
- Linux-服务器创建swap交换分区
服务器 swap 交换分区制作 作用:‘提升‘ 内存的容量,防止OOM(Out Of Memory) 查看当前的交换分区 # cat /proc/swaps # free -m # swapon -s ...
- 从浅入深详解独立ip网站域名恶意解析的解决方案
立IP空间的好处想必大家都能耳熟闻详,稳定性强,利于seo等让大家选择了鼎峰网络香港独立IP空间.那么, 网站独享服务器IP地址,独立IP空间利于百度收录和权重的积累.不受牵连.稳定性强等诸多优势为一 ...
- openssl命令行将pfx格式转.key和.crt文件,Apache适用
以前使用的windows平台作为php运行的平台,感觉整体速度太慢,于是现在改为centos系统的linux平台.需要把windows中用pfx证书转为appache用到key和crt组成的证书 将* ...