selenium弹窗之windows下载文件弹窗点击方法

告别Selenium弹窗噩梦:Playwright无头浏览器文件下载实战 浏览器自动化是现代软件测试和网络爬虫中的关键技术,它通过程序控制浏览器行为,模拟用户操作。其核心原理是利用浏览器提供的开发者协议(如DevTools Protocol)与浏览器内核进行通信,实现对页面元素的操作、网络请求拦截以及用户交互的模拟。这项技术的价值在于能够实现大规模、可重复的Web应用测试,以及高效的数据采集和处理。在自动化测试、数据抓取、网页监控等场景中,浏览器自动化扮演着重要角色。然而,传统方案如Selenium在处理文件下载时,常因无法有效控制浏览器原生弹窗而受阻,特别是在无头模式下,这成为 阅读详情

一、弹窗类型

一般说到selenium中的弹窗包括以下三种类型:
类型一:窗口柄
在这里插入图片描述
这种窗口常说的就是窗口句柄,其实并不能算弹窗,应该属于窗口切换

类型二:web弹窗
使用如下命令导致的:

browser = webdriver.Firefox()

browser.implicitly_wait(0.1)
browser.get('https://www.bilibili.com/')
browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')
browser.execute_script('alert("to botton")')

在这里插入图片描述

第三种:windows弹窗
在这里插入图片描述
参见《selenium+python自动化–文件下载弹窗处理(PyKeyboard)
selenium+python自动化99–文件下载弹窗处理(PyKeyboard)》,链接: link.

据这篇文章所述,这种弹窗并不是web界面的弹窗,我尝试过定位,确实不行,因为元素都找不到。因而这种弹窗我称之为windows弹窗,即不可以通过selenium的鼠标、键盘操作完成,用动作链也不行

二、windows下载文件弹窗点击方法

pyuserinput模块

大部分文章对于这种弹窗的点击方法使用的是PyUserInpu模块

但是这个模块需要pyhook模块,但是这个模块pip无法下载,
在这里插入图片描述

直接下载PyUserInput 也不行
在这里插入图片描述
有解决下载的文章《https://blog.youkuaiyun.com/zhusongziye/article/details/79241410》,链接: link.
具体怎么样没有尝试,一看就很麻烦

其中pyhook最新版本为2008年的
在这里插入图片描述
pyuserinput也是2016年的了,
在这里插入图片描述
长时间没有更新,怕有许多问题就没有继续安装了

pyautogui模块

在《python之鼠标、键盘模拟》,链接: link.
找到了这个pyautogui模块,最新版2020
在这里插入图片描述
近期更新的,一看比较靠谱,就用了这个模块
下载文件弹窗的点击方法
在这里插入图片描述
在这里插入图片描述

具体的点击位置需要慢慢调,我的弹窗解决方法
代码:

import pyautogui

pyautogui.moveTo(505,410)
pyautogui.click()
pyautogui.moveTo(765,465)
print('ok')

在这里插入图片描述

Selenium+AutoIt3组合:攻克Windows文件上传与系统弹窗自动化 在Web自动化测试中,Selenium擅长驱动浏览器内的DOM操作,但面对Windows操作系统原生的文件选择框、认证弹窗或下载确认框时,往往因边界限制而失效。这类UI自动化瓶颈普遍存在于企业系统回归中,单纯依靠前端定位器无法触及系统级控件。借助AutoIt3这一成熟的Windows GUI自动化工具,通过Win32 API对弹窗进行识别与操控,能够补齐Selenium在浏览器外部的盲区,形成从网页到桌面的完整执行链路。本文从工具边界、环境配置、脚本设计到工程化落地,系统讲解如何通过subprocess调度 阅读详情

相关推荐

Selenium文件上传

本文详细介绍五种文件上传的方法,适用于各种场景,并分析其优缺点

bbppooi的博客 1173

selenium取消chrome内核浏览器下载文件时出现出现的弹窗

1. edge浏览器下载文件的设置实例 class GetEdgeDriver: __singleton = None def __new__(cls, *args, **kwargs): if cls.__singleton is None: options = { "browserName": "MicrosoftEdge", "version": "",

catch_dreamer的博客 5104

java+selenium+autoIt 实现下载(打印)功能

java+selenium+autoIt 实现下载(打印)功能 selenium是一个开源的自动化测试框架,它可以模拟用户对浏览器的操作,进行自动化的测试。但是,它不仅仅只能用来做测试。 AutoIt 是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作。它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务。而这是其它语言不可能做到...

booleandev 3566

Python使用selenium爬取火狐浏览器下载框问题

近期有个任务需要使用selenium下载文件,使用火狐下载时总是会弹出下载框。 网上资料大多使用FirefoxProfile(),但现在该方法已经被遗弃,经尝试后可使用以下方法免弹窗。 #这里方法更改为FirefoxOptions fp = webdriver.FirefoxOptions() fp.set_preference('browser.download.dir',path)#path是下载路径,可自定义 fp.set_preference("browser.download.folderList

qq_54085445的博客 957

数字IC笔记-低功耗技术

传统的降低Power的方法主要有: 1.门控时钟技术(clock gating) 2.多阈值电压技术(MultiShreshold) 3.动态电压频率调节技术(DVFS) 目前有以下几种低功耗技术: 1.多电压技术(Multi-Voltage) 2.MTCOMS Power Gating 技术(多阈值功耗控制技术),比如基带部分中的2G、3G、CDMA、LTE等通过awake—>sleep—>awake的方式间歇式的打开或关断其电源,power gating 可以完全关掉dynamic的pow

sinat_41774721的博客 1933

10X Visium空间转录组学入门:从芯片结构到数据分析全流程解析(附避坑指南)

本文全面解析10X Visium空间转录组学技术,从芯片物理结构、探针化学原理到湿实验全流程操作与避坑指南,并详细介绍了从FASTQ数据到空间可视化的核心分析流程。文章旨在帮助科研人员跨越从理论到实操的鸿沟,掌握从样本准备、文库构建到使用Space Ranger和Seurat进行数据分析与可视化的完整路径,为组织生物学研究提供清晰的实践指引。

weixin_29306011的博客 166

Python Selenium弹窗处理

selenium弹框处理

liucaixin2016的博客 7455

碳纳米管NRAM:突破5纳米制程的下一代存储技术

在半导体存储领域,非易失性存储器和随机存取存储器是两大基础技术方向。传统DRAM速度快但断电易失,NAND Flash非易失但写入慢、寿命有限,两者在先进制程下都面临物理极限挑战。碳纳米管作为一种新型纳米材料,凭借其优异的导电性、机械强度和尺寸微缩潜力,为存储技术革新提供了物理基础。基于碳纳米管的NRAM技术,通过控制纳米管间的可逆接触实现电阻状态切换,兼具DRAM级速度和Flash的非易失性,同时具备近乎无限的擦写寿命和出色的CMOS工艺兼容性。这项技术不仅能满足5纳米以下制程的存储需求,在数据中心缓存、

weixin_42576804的博客 430

Web自动化-Windows窗口上传文件

总结了做web自动化时,input控件和非input控件上传文件的方式,对于input控件,可以直接sendkeys文件路路径,非input控件则需要在系统窗口级别进行自动化操作。

seanyang_的博客 1498

基于PLC的冲压件自动生产线电气系统设计【附数据】

考虑到生产线的高效运行和维护简便性,选择了三菱FX系列的可编程逻辑控制器(PLC)作为核心控制单元,该型号的PLC因其高可靠性和强大的功能集,在工业自动化领域有着广泛的应用。最后,在完成初步的软件开发后,进行了多轮次的模拟测试和现场调试,逐步修正了存在的问题,最终达到了预期的功能要求。例如,对于进料环节,选用了光电传感器以精确检测物料的位置;此外,为了适应不同尺寸的工件加工需求,还特别设计了一套可调节的夹具系统,不仅提高了生产线的灵活性,同时也降低了更换模具的成本。✅ 感恩科研路上每一位志同道合的伙伴!

lagougongzuoshi的博客 1295

tft_espi 中文字体及自定义字体制作(tft.eSPI模块)

tft.eSPI库自定义字体方法 先下载 processing 然后安装到mixly安装目录下找到tft_eSPI文件夹。

琢磨侠的博客 2764

java selenium (十二) 操作弹出窗口

selenium 中如何处理弹出窗口   阅读目录   原理 在代码里, 通过         Set<String> allWindowsId = driver.getWindowHandles(); 来获取到所有弹出浏览器的句柄,   然后遍历,  使用swithcto.window(newwindow_handle)方法。 就可以定位到新的窗口   测试页面的HT...

weixin_34245169的博客 174

PLC期末速成——顺序功能图转梯形图

一、根据顺序功能图写出梯形图程序 顺序功能图: 梯形图: 1、程序段1,系统运行标志M0.0的启-保-停控制电路。 2、程序段2,PLC上电与逆行,初始化脉冲M1.0激活初始化步M2.0。 3、程序段3,当M2.0初始化步为活动步,并且M0.0系统运行标志位为1时,置位M2.1步,复位M2.0步。 4、当M2.1为活动步,并且I0.3中液位传感器为1时,置位M2.2步,复位M2.1步。 5、程序段5,当M2.2为活动步,并且I0.2高液位传感器为1时,置位M2.3步,复位M2.2步。 6、程序段

qq_52251819的博客 1万+

python下载成功后怎么打开,python下载完成的界面

大家好,小编来为大家解答以下问题,python下载成功后怎么打开,python下载完成的界面,今天让我们一起来看看吧!

wenangou6 228

【RT-DETR有效改进】利用ASF-YOLO改进特征融合层(附代码 + 详细教程)

本文给大家带来的改进机制是ASF-YOLO(发布于2023.12月份的最新机制),其是特别设计用于细胞实例分割。这个模型通过结合空间和尺度特征,提高了在处理细胞图像时的准确性和速度。在实验中,ASF-YOLO在2018年数据科学竞赛数据集上取得了卓越的分割准确性和速度,达到了0.91的box mAP(平均精度),0.887的mask mAP,以及47.3FPS的推理速度,效果非常的好,这个结构本来是用于分割的,我将其移植到了目标检测的模型上,所以其可以适用于分割和目标检测。

Snu77的博客 2296

【LLM】大模型幻觉问题的原因和缓解方法

一、幻觉定义 备注(下面提及的两个名词): Faithfulness:是否遵循input content; Factualness:是否符合世界知识; 传统nlp任务重,幻觉大多数是faithfulness,比如Intrinsic Hallucination(冲突),摘要内容和document内容有冲突;再比如Extrinsic Hallucination(无中生有),生成内容中包含input要求的其他杂七杂八虚假信息;但LLM应该考虑的幻觉Factualness,因为数据源是Open-doman的世界知

发现问题,并解决问题,批判性思维 1万+

selenium弹窗处理,包括Javascript弹窗、HTML弹出层和Windows弹窗

弹窗处理 Javascript弹窗 Javascript中有3种弹窗:alert(只有一个确认按钮)、confirmation(有确认和取消两个按钮供选择)、prompt(需要输入内容)。 无法使用selenium提供的find_element_by_xx()定位到alert中的元素。 Selenium提供一组统一的API处理它们,代码形式上都当做Alert的实例来处理。 alert = driver.switch_to_alert()切换到当前弹出的alert。关闭了alert之后,回到aler

刘一凡的博客 5359

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

html写弹出状态,selenium弹窗处理,包括Javascript弹窗、HTML弹出层和Windows弹窗

弹窗处理Javascript弹窗Javascript中有3种弹窗:alert(只有一个确认按钮)、confirmation(有确认和取消两个按钮供选择)、prompt(需要输入内容)。无法使用selenium提供的find_element_by_xx()定位到alert中的元素。Selenium提供一组统一的API处理它们,代码形式上都当做Alert的实例来处理。alert = driver.sw...

weixin_30275391的博客 589

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

python selenium 处理弹窗_Python+Selenium处理Windows弹窗(非IE弹窗问题)

匿名用户1级2014-10-12 回答兄弟你逗我么,你写着问题就可以解决了,但是内容又否认python可以处理这样的问题。。。安装好selenium的python,调用里面的API就可以完成操作了。至于如何找到Add Photos这个按钮很简单,方法有很多,可以根据style,xpath,id,等等之类的。最近有稍微研究一会selenium,不算很熟悉,但是基本的方法还是会的追问:我只是说“貌似”...

weixin_39780962的博客 1041

selenium 上传下载调用windows窗口--AutoIT

AutoIT解决自动化上传下载文件调用Windows窗口AutoIT下载安装使用AotuIt 操作windows上传窗口1. 打开AutoIt定位窗口组件2. 定位上传窗口属性 (鼠标选中Finder Tool 拖拽至属性窗口)![在这里插入图片描述](https://img-blog.csdnimg.cn/20191111140041867.png?x-oss-process=image/wat...

codingOnMyWay的博客 843

c# selenium chrome 文件下载_Selenium之文件上传、下载

文件上传文件上传功能的话,一般都是需要点击上传按钮,然后打开本地windwos窗口,从窗口中选择文件,然后进行上传,但是windwos的弹窗不属于浏览器页面的元素,通过WebDriver无法操作windwos控件,那么遇到这种情况的话,文件上传操作该如何去模拟呢?下面让小编带你来了解一下吧。方法一:通过元素定位方法,找到文件上传控件,然后通过send_keys()方法向其输入一个文件地址...

weixin_39525933的博客 1028

Selenium自动化之弹窗处理

我们在使用Selenium做Web自动化测试时,页面经常出现弹窗,如果不处理后续的测试脚本就无法正常运行,今天我们就带大家一起来学习如何处理Web页面上的弹窗。

百晓生说测试的博客 775

selenium+Java处理文件上传

selenium处理文件上传大致会有两种情况,一种是文件上传使用的是input元素,即<input type="file">,那么直接对这个input元素使用sendkeys方法输入文件的路径就可以完成上传,另一种是调用windows完成文件上传,即文件上传会弹出windows弹窗,此时则需要借助Autoit这样一个小工具结合selenium完成。 1、文件上传使用的是input元素,selenium+java代码参考如下: import org.openqa.selenium.By; impo

梦里有阳光 1676

selenium+python处理文件上传

selenium处理文件上传大致会有两种情况,一种是文件上传使用的是input元素,即<input type="file">,那么直接对这个input元素使用sendkeys方法输入文件的路径就可以完成上传,另一种是调用windows完成文件上传,即文件上传会弹出windows弹窗,此时则需要借助Autoit这样一个小工具结合selenium完成。 1、文件上传使用的是input元素,selenium+python代码示例参考如下: import time from selenium impor

梦里有阳光 1095

Java selenium上传文件

下载和安装AutoIt 文件上传是自动化中棘手的部分,目前selenium并没有提供上传的实现api,所以知道借助外力来完成,如AutoIt、sikuli。 AutoIt , 这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)的自动化操作,利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务; 1.打开AutoIt的官网下载 AutoIt下载链接:https://www.autoitscript.com/site/autoit/downloads/ 或.

weixin_43939924的博客 1541

基于Python的Selenium详细教程

这篇文章是 Selenium 的使用教程。先介绍在 Windows 11、Python 3.10.5、PyCharm 2022.1.3 环境下,安装 Selenium 4.3.0 及配置浏览器驱动的方法,并给出验证步骤。接着详细讲解 Selenium 的使用,包括元素定位、文本操作、获取页面内容、等待方式、窗口及框架处理,还有鼠标、键盘操作,以及执行 JS 代码、截图等,助力读者掌握 Selenium 在 Web 自动化方面的应用。

Smile的博客 6万+
上一篇: selenium的namespace错误与无法定位:NamespaceError: An attempt was made to create...andUnable to locate elemen
下一篇: Git中仓库提交:记录一些操作命令
python__reported
博客等级 码龄7年 249粉丝 141原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值