Selenium打开外部应用程序的弹窗处理

news2024/10/12 9:47:57

在这里插入图片描述

问题

selenium自动化操作页面跳转到外部应用程序进行下载等操作,各种窗口处理方式无法解决

原因

该窗口属于浏览器窗口,与访问页面无关(已经脱离页面操作层面)

解决

selenium启动浏览器时,对浏览器进行相关窗口设置

解决方式

1、打开应用程序前,打开浏览器开发者模式-network-all
2、触发打开外部应用程序出现窗口,查看红色的报错的请求
3、复制窗口的域名(如图https://apps.apple.com),复制红色报错请求的urk协议名称(如图macappstores)
在这里插入图片描述
使用如下代码

chrome_options = webdriver.ChromeOptions()
prefs = {
    "protocol_handler": {
        # 该方法会允许启动,执行中会把本地外部应用唤起。不影响自动化执行,可视化执行时一定程度影响视野
        "allowed_origin_protocol_pairs": {
            # 域名即窗口显示的域名
            # weixin属于协议名称,从network抓包即可看到。ture表示允许启动,false表示禁止启动(会出现弹窗确认)
            "https://apps.apple.com": {"macappstores": True},
            "https://itunes.apple.com": {"itms-appss": True}
        },
        # 以下方法测试不可用,查找原因需要更新selenium至最新版本(未实验)
        # 该方法理论可以直接不启动应用程序,并且不出现弹窗。最符合实际诉求
        # "excluded_schemes": {
            # ture表示禁止启动,false表示允许启动
            # "https://apps.apple.com": {"macappstores": True},
            # "https://itunes.apple.com": {"itms-appss": True}
        # }
    }
}
chrome_options.add_experimental_option("prefs", prefs)
webdriver.Chrome(driver_path, options=chrome_options)

参考:
https://www.5axxw.com/questions/content/yhke2q
https://blog.csdn.net/qq_26819733/article/details/126799304

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2207659.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch的安装与配置

注意:elasticsearch 禁止安装在/root路径下! 1、创建用户组 groupadd elastic 2、创建用户 useradd es -d /home/es -g elastic echo es | passwd es --stdin 3、给新创建的用户进行授权 chown -R es:elastic /home/es chmod -R 775 /home/es 4…

sklearn机器学习实战——支持向量机四种核函数分类任务全过程(附完整代码和结果图)

sklearn机器学习实战——支持向量机四种核函数分类任务全过程(附完整代码和结果图) 关于作者 作者:小白熊 作者简介:精通python、matlab、c#语言,擅长机器学习,深度学习,机器视觉,目…

Nginx反向代理配置与负载均衡配置

简介:整理自黑马程序员苍穹外卖的第11节 nginx是什么? nginx的好处 nginx反向代理配置方式 nginx负载均衡的配置方式 nginx负责均衡策略

等保2.0测评 — WebSphere 中间件

查看版本信息: 登录websphere管理平台首页就能看到版本信息 可以进入\usr\IBM\WebSphere\AppServer\bin 下执行./versionInfo.sh查看版本 一、身份鉴别 a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有…

如何使用printf实现整齐美观的输出?

在编程中,尤其是在涉及控制台输出的应用场景中,我们需要让输出的信息更加整齐美观。printf 是 C 语言中用于格式化输出的强大工具之一。通过合理的格式化控制符,我们可以轻松地控制输出的宽度、对齐方式、填充字符等,从而达到整齐…

RiproV9.0主题wordpress主题免扩展可二开PJ版/WordPress博客主题Ripro全解密无后门版本

🔥🎉 全新RiPro9.0开源版发布 —— 探索无限可能🚀🌐 今天,我很高兴能与大家分享一个重磅资源——RiPro9.0开源版!这不是一个普通的版本,而是一个经过精心打磨、全面解密的力作。🔍…

使用KEIL5,不复位MCU,调试到程序运行到卡住之处

文章目录 前言步骤1步骤2步骤3步骤4步骤5 前言 经常有朋友在开发中遇到这样的窘境,当单片机程序运行异常以后,由于调试信息做得并不是很全面,导致相应的问题场景非常难分析。当时的你肯定会叹息道:“要是我一直插着仿真器就好了,…

【Concept Sliders】通过拖到滑块来精确控制特定图像特征

Concept Sliders 是一种用于扩散模型(如 Stable Diffusion)的LoRA 适配器,允许用户在图像生成过程中对特定概念进行精细控制。与依赖提示词生成图像的传统方法不同,Concept Sliders 通过引入可调整的“滑块”,用户可以…

前端读取本地表格数据

vue3tsvite 无后端提供数据的情况下,前端读取本地表格数据,并将数据放入页面结构中 展示在网页中 记得先安装npm install xlsx 目录 read_xlsx.ts import * as XLSX from xlsx; //将行,列转换 function transformSheets(sheets: { [key: string]: any })…

技术架构的演进之路

技术架构的演进之路 我们以电商系统的技术架构发展为例 文章目录 1. 单体架构2. 应用数据分离架构3. 应用服务集群架构4. 读写分离、主从分离架构5. 冷热分离架构6. 垂直分库架构7. 微服务架构8. 容器编排架构 1. 单体架构 在前期用户访问量很少的时候,没有对性能、安全等提出…

自然语言处理(NLP)论文数量的十年趋势:2014-2024

引言 近年来,自然语言处理(NLP)已成为人工智能(AI)和数据科学领域中的关键技术之一。随着数据规模的不断扩大和计算能力的提升,NLP技术从学术研究走向了广泛的实际应用。通过观察过去十年(2014…

uniapp中添加colorUI的过程

1、先将colorUI文件粘到项目中去 2、common中添加两个文件 3、App文件中引入这两个文件

毕业设计选题:基于ssm+vue+uniapp的健身管理系统小程序

开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…

2024年软件设计师中级(软考中级)详细笔记【5】软件工程基础知识下(分值10+)

第5章软件工程 目录 前言第5章 软件工程基础知识(下)5.5 系统测试5.5.1 系统测试与调试5.5.2 传统软件的测试策略5.5.5 测试方法5.5.5.1 黑盒测试5.5.5.2 白盒测试白盒测试McCabe度量法伪代码白盒测试McCabe 5.6 运行和维护知识【以背为主】5.6.2 系统维…

Asahi Linux通过大量变通方法实现在M系列Mac上支持AAA级游戏

如果您正在运行 Asahi Linux 并希望在您的 M 系列 Mac 上玩游戏,那么有一个好消息要告诉您,Asahi Linux 项目将继续推出新功能。 2 月份它在 Mac 上Apple Silicon 实现了OpenGL 4.6 和 OpenGL ES 3.2 兼容,现在又在游戏方面取得了进展。但您可…

WRN: 宽度残差网络(论文复现)

WRN: 宽度残差网络(论文复现) 本文所涉及所有资源均在传知代码平台可获取 文章目录 WRN: 宽度残差网络(论文复现)概述模型结构核心逻辑实验训练与测试在线部署使用方式 概述 本文复现论文 Wide Residual Networks提出的深度神经网…

软件狗加密的高安全性

软件狗加密,即使用软件加密狗对软件进行加密保护的过程,是一种软硬件结合的加密方式。以下是对软件狗加密的详细解析: 一、软件加密狗的基本概念 软件加密狗,也称为硬件加密锁或USB密钥,是一种用于保护软件和数据安全的…

IEC104规约的秘密之十----令人眼花缭乱的各种限定词,品质描述词

当我们已经能用104通讯完成各种通讯也能解决帧序号等各种问题后,我们就更加关心报文的细节。 各种报文中的限定词就可以进行仔细分析了。 下面以单点遥信做为例子进行分析: SIQ是英文Single-point information with quality descriptor的缩写&#xff0…

HTML+CSS排行榜实现代码,复制粘贴可使用

如何用HTML和CSS创建一个具有吸引力的创作者排行榜 在数字化时代,排行榜是吸引用户注意的绝佳方式。无论是展示最受欢迎的产品、文章还是创作者,一个设计精良的排行榜都能提升用户的参与度和兴趣。本文将指导你如何使用HTML和CSS创建一个具有吸引力的创…

Rider + xmake DX12 开发环境

Rider xmake DX12 开发环境 背景 如题,想要接近 UE 的开发流程 正文 大的流程就是 xmake 生成 vs 的 sln,用 Rider 进行开发 intellisense,断点调试 加了个脚本手动刷新 sln xmake project -k vsxmake -m "debug;release" -…