Python + Selenium(二十六)模拟手机浏览器

2023-11-02

现在的 IT 以移动互联网为主,所以一般网站系统都会支持移动模式。

移动设备与 PC 网页浏览区别最大的就是分辨率,大型网站为了体验使用移动设备访问时都会专门提供移动版本。而其他很多站点也是采用响应式设计,也可以支持移动设备以较好的访问。

我们也需要测试网页在移动设备上的表现,而直接在手机上调用浏览器实现测试过程麻烦且受环境影响很大。我们可以通过在 PC 上模拟移动设备(主要是分辨率和 User-Agent)访问网页来达到测试目的。

Chrome 提供了移动设备的模拟, 在开发者模式下点击Toggle device toolbar可以进入设备模拟状态。

我们可以看到百度的首页变成了适配移动设备的网页而不是我们在电脑上看到的界面。

那么我们在自动化测试中如何实现呢?

在开发者工具栏移动设备状态下,点击上面的设备名称可以选择对应的设备。

在配置中指定一个已有的设备名称,如iPhone X

from selenium import webdriver  

# 添加 Chrome 相关配置
options = webdriver.ChromeOptions()
# 指定设备名称即可
options.add_experimental_option('mobileEmulation', {'deviceName': 'iPhone X'})

driver = webdriver.Chrome(chrome_options=options)  # => 打开浏览器时加入配置
driver.get("http://www.baidu.com")  
# 观察一下
time.sleep(5)  
driver.quit()  

模拟效果如下:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python + Selenium(二十六)模拟手机浏览器 的相关文章

  • 基于OVSDB协议在SDN控制器ONOS开发配置管理OVS API

    为了更好的分享体验 博客搬迁至极客驿站 欢迎查阅 基于OVSDB协议在SDN控制器ONOS开发配置管理OVS API 介绍 准备工作 开发步骤 问题排查 介绍 目前protocol 中ovsdb协议层面已经实现 但是基于ovsdb prot
  • uniapp 点击复制 并有弹窗提示

    click myCopy 要复制的值 uni setClipboardData data delivery id 要被复制的内容 success gt uni showToast title 复制成功
  • 砝码称重——不同算法解决

    1 问题 砝码称重问题 设有1g 2g 3g 5g 10g 20g的砝码各若干枚 其质量 lt 1000g 求出用他们能称出的质量的种类数 不包括质量为0的情况 2 枚举法 算法思路 1 枚举不同砝码的个数 计算总重量 并将总重量对应的标志
  • Java学习总结-IO流的概念理解

    一 Java io流 的概念 流存在的意义 1 数据的传输量很大 2 内存有限 3 带宽有限 而Stream可以1点1点地逐步传输所有数据 这就是Stream存在的根本意义 想想我们是怎样下载1个大文件的 下载软件 例如x雷 并不会占用你内
  • IOS推送总结

    此文主要以证书生成配置为主 实现简单推送 部分截图与内容来自于互联网 若对大家有所帮助 还请给个赞O O 如有误 请指出 一起探讨 一 推送原理 Provider是指某个iPhone软件的Push服务器 APNS 是Apple Push N
  • Java中instanceof关键字的理解

    java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例 instanceof通过返回一个布尔值来指出 这个对象是否是这个特定类或者是它的子类的一个实例 用法 result object instanceof
  • linux宝塔命令

    安装宝塔 Centos安装脚本 yum install y wget wget O install sh http download bt cn install install sh sh install sh Ubuntu Deepin安
  • Linux中的Chrony时间同步服务

    目录 一 时间同步 1 概念 2 时间同步在运维工作中的作用 3 时间同步完成方法 1 NTP时间服务 centos 6 2 Chrony时间服务 二 Chrony时间服务 1 Chrony介绍 2 Chrony的优点 三 Chrony安装
  • shell脚本中grep时关于变量带双引号的小问题

    今天在写一个shell脚本的时候 有一个操作是使用grep命令在一个文件中搜索指定内容 指定内容存放在文件中 使用一个变量去获取文件中内容 再传到grep命令中去 这段代码如下 for target in cat content txt d
  • java游戏服务器开发需要学习的技术

    一 游戏服务器编程语言的选择 所谓的游戏服务器编程语言其实有很多 基本上任何一种语言都可以作为游戏服务器的编程语言 这需要根据自己游戏的类型和要求加以选择 比如C Java Erlang go等等 目前我用过的只有C 和Java 但是以Ja
  • 查看broker节点信息

    kafka查看broker节点信息可以进入zookeeper客户端中查看 运行zkCli sh进入客户端 输入ls 可以看到相关的节点 输入 ls broker ids 可以看到broker数
  • Hyperledger Fabric网络快速启动

    目录 1 网络服务配置 2 关联的docker compose base yaml 各Peer节点容器设置如下信息 3 被关联的Peer base yaml 4 启动网络 2 完成通道的创建 2 1将节点加入应用通道 更新锚节点 2 为什么
  • 第九章:C语言数据结构与算法初阶之堆

    系列文章目录 文章目录 系列文章目录 前言 一 堆的定义 二 堆的实现 三 堆的接口函数 1 初始化 2 销毁 3 插入 4 删除 5 判空 6 元素个数 四 堆应用的原理 五 堆排序 1 建堆 2 排序 六 堆的应用 TOPK 1 什么是
  • [Excel VBA]状态栏如何显示文字 ?

    本文译至 http itpro nikkeibp co jp atcl column 15 090100207 090100148 Application StatusBar 字符串 画面最下方的状态栏可以显示任意的字符串 显示的字符串可以
  • 生产数据实时同步到预生产

    生产数据库同步到预生产 实现实时同步 参见 MySQL binlog2sql 非主从实时同步 恢复误删数据 同步昨晚的备份 基于昨晚的全备 在预生产服务器添加定时执行此脚本 重置数据库 刷入昨晚的全备 0 4 bin sh scripts
  • 基于舒适性的速度规划。对路面进行分级,基于路面状况对舒适性的影响对速度进行规划

    基于舒适性的速度规划 对路面进行分级 基于路面状况对舒适性的影响对速度进行规划 建模仿真MATLAB Simulink编号 54150653898883414Hsvssvg
  • makefile找不到

    如果下载的代码执行make j时找不到makefile 需要自己生成 现在有makefile am sudo apt install automake libtool m4 autoconf autoconf autoreconf vif
  • 【random库与math库】python程序对一组随机数求平均值,标准差,中位数,离差,离差方,总体方差,样本方差,样本标准差

    基本统计值计算 使用random库生成随机数100个 1 100 的整数 同时借用math库进行了简单的计算 对生成的一组随机数求平均值 标准差 中位数 离差 离差方 总体方差 样本方差 样本标准差 计算公式如下 程序代码如下 from m
  • 单片机开发板sv32wb0x,C语言,创建websocket客户端

    本人参考大佬的代码移植进单片机 调试BUG后并且成功跑通 如果你不了解websocket协议建议参考Linux下c语言实验Websocket通讯 含客户端和服务器测试代码 我只是把这位大佬写的提取出我需要的 基于单片机lwip网络编程 本代

随机推荐