selenium处理登录及提示弹窗(此处以python举例,登录弹窗处理已更新)

使用selenium访问网页额外跳出弹窗 说明 在使用selenium借助chromedriver访问网页的时候,突然莫名其妙弹出个别奇奇怪怪的网页,虽然不会因其报错或者异常,但看起来还是很不舒服,仔细研究了一下,UA头的设置错误会导致这个问题。 正确设置方式 from selenium.webdriver.chrome.options import Options from selenium import webdriver import time chrome_options = Options() # chrome_options.add 阅读详情

前言

在web项目中有些功能需要调用外部应用或者提示安装插件窗口以及打开url时需要登录
此篇文章简单讲解一下如何处理这两类弹窗,因为暂未找到登录弹窗的网页,所有登录弹窗等作者后期实现了再补充

非登录弹窗处理

此处拿TX会议做个例子吧 先来看看弹窗是如何出来的

  • 首先打开网站TX会议 在输入框随意输入9位数点加入,标签页会弹出如下弹窗 ====
    在这里插入图片描述
  • 这个弹窗selenium好像是处理不了的(如果说错还望指出)
    这里我们就需要用到键盘事件来处理弹窗,因为我的电脑是Linux系统, 所以选择的是pynput库

安装库,命令如下

pip install pynput

代码如下 提示: 此段代码效果为选择弹窗中间的单选框:如果未达到效果请把sleep里面的数字加大,要选择下面的两个按钮请自行修改代码,弹窗默认聚焦到取消按钮

from time import sleep
from selenium import webdriver
from pynput import keyboard
from pynput.keyboard import Key


dri = webdriver.Chrome()
dri.get('https://meeting.tencent.com/user-center/joining?meeting_code=123456789')
key_o = keyboard.Controller()
sleep(3)

key_o.press(Key.tab)
key_o.release(Key.tab)  # 焦点切换到'打开xdg-open'按钮


key_o.press(Key.tab)
key_o.release(Key.tab)    # 焦点切换到单选框
key_o.press(Key.enter) 	# 按下回车键选择单选框
key_o.release(Key.enter) 

友情提示:press方法千万不要单独使用!!! press方法千万不要单独使用!!! press方法千万不要单独使用!!!

登录弹窗处理

登录弹窗有两种处理方式,一种和上面一样,利用pynput库实现,第二种是利用url实现,虽然利用url很简单,但是这里还是说一下第一种处理方式吧
首先和上面一样 需要安装三方库, 上面有命令这里就不写了
登陆验证框如图所示
在这里插入图片描述
代码如下

from selenium import webdriver
from pynput import keyboard
from pynput.keyboard import Key

dri = webdriver.Firefox(executable_path='D:/data/geckodriver-v0.31.0-win64/geckodriver.exe') # 这里我没设置环境变量  有环境变量不用照着写
dri.get('http://localhost:8081/manager/html') # 这个是有弹窗的页面
btn_obj = keyboard.Controller()  # 实例化类

"""进页面光标默认聚焦在用户名输入框,所以第一步就可以直接输入用户名"""
btn_obj.type('tomcat') # type函数是输入字符串的 
"""按tab键切换到密码输入框 press和release是一对的 按下后必须释放"""
btn_obj.press(Key.tab)	# 按下按钮
btn_obj.release(Key.tab)	# 释放   当然 press和release也可以用touch函数代替
""" 切换到密码输入框后输入密码"""
btn_obj.type('123456')

"""这里演示一下touch 因为tomcat密码框有回车事件,所以可以直接点回车登录"""
btn_obj.touch(Key.enter, is_press=True)
btn_obj.touch(Key.enter, is_press=False)

这里需要注意一下,用type函数需要把默认输入法改成英文,不然会失败 ,或者可以在打开网页的下一步切换为英文输入法
脚本成功输入截图
在这里插入图片描述
登录后截图
在这里插入图片描述

最简单的处理方式

这种类型的登录,通过开发者工具可以发现你输入的参数并没有被带入url后面或者payload里面,这是因为参数被放在的url前面 格式如下
协议://账号:密码@IP地址:端口/路由 如下 账号tomcat 密码123456
http://tomcat:123456@localhost:8081/manager/html
此时直接访问完整的url即可

from selenium import webdriver


dri = webdriver.Firefox(executable_path='D:/data/geckodriver-v0.31.0-win64/geckodriver.exe')
dri.get('http://tomcat:123456@localhost:8081/manager/html')
Selenium基础 — 浏览器弹窗操作 由于alert弹窗不美观,现在大多数网站都会使用自定义弹窗,使用Selenium自带的方法就驾驭不了了,此时就要搬出JS方法来进行处理。需求:需求:去掉淘宝首页的自定义弹窗淘宝首页的自定义弹窗如下:提示:网页中弹出的对话框,也属于页面自定义弹窗,都可以用下面方式处理。实现方式:大家能看到,上图中的这种弹窗就是自定义弹窗的表现形式,处理这种弹窗可以利用HTML、DOM、Style对象中的一个display属性来处理,可以设置元素如何被显示。。 阅读详情

相关推荐

Selenium爬虫实战:系统化处理网页弹窗的完整方案

在Web自动化与数据采集领域,弹窗是常见的交互障碍,其本质是网页动态内容的一种表现形式。从技术原理看,弹窗通常由JavaScript事件触发,通过DOM操作动态生成模态或非模态层,干扰正常元素定位与操作。其技术价值在于模拟真实用户交互、处理异步内容加载以及提升爬虫的鲁棒性。在Python爬虫,特别是基于Selenium的浏览器自动化场景中,弹窗处理直接影响数据抓取的稳定性和效率。应用场景广泛覆盖电商商品爬取、内容平台信息采集以及需要登录或交互的网页自动化任务。本文聚焦于Selenium爬取过程中的弹窗应对,

weixin_34043301的博客 405

selenium处理弹窗登录认证方案

使用selenium开发相关自动化模块时,遇到一个网页需要进行用户认证,如下图所示。请求鉴权时的提示框,从网络分析中也可以看到此时连接未完成,服务端在等待认证;显然,这个弹窗不属于常规prompt弹窗,无法通过alert对象操作;由此可以从主动提供用户密码这个思路着手,跳过这个认证提示;成功跳过授权弹窗,直接登录到页面,问题解决!需要登录认证后才能进行后续操作。经查询资料,得知此认证窗口为。

a66920164的博客 1666

基于Selenium与Python的智慧树自动登录脚本开发实战

网页自动化是提升工作效率、实现流程自动化的关键技术,其核心原理是通过程序模拟用户在浏览器中的操作行为。Selenium作为主流的浏览器自动化框架,能够驱动真实浏览器执行点击、输入等交互,为自动化测试和脚本开发提供了强大支持。结合Python简洁的语法和丰富的生态库,开发者可以快速构建稳定可靠的自动化流程,其技术价值在于将人力从重复、枯燥的网页操作中解放出来,实现批量处理、定时任务和数据抓取。在教育、电商、数据采集等需要与Web页面频繁交互的应用场景中,自动化脚本能显著提升工作效能。本文以智慧树平台为例,详细

cunfuteng7334的博客 439

使用selenium执行测试用例时Chrome浏览器弹出多个data:,

selenium自动化测试时浏览器弹出data页面处理方法

weixin_45508657的博客 3568

Python Selenium模拟登录与反爬进阶:从基础配置到指纹伪装实战

在Python爬虫开发中,自动化工具与反爬机制的对抗是核心技术挑战。Selenium作为基于WebDriver协议的标准化工具,能够驱动真实浏览器执行JavaScript,模拟人类交互行为,从而有效处理动态渲染页面和复杂验证流程。其技术价值在于为爬虫提供了接近真实用户的操作环境,尤其适用于需要登录、滑块验证等交互场景的数据采集。然而,随着反爬技术演进,基于浏览器指纹和行为特征的检测日益普遍,简单使用Selenium易被识别。因此,需要深入理解浏览器底层原理,通过CDP协议修改navigator.webdri

weixin_34357887的博客 422

Python Selenium自动化入门:从环境搭建到实战应用

在Web开发与测试领域,自动化技术是提升效率的关键。其核心原理是通过程序模拟真实用户操作,实现对浏览器行为的精准控制。这项技术的核心价值在于能够处理传统HTTP请求难以应对的动态网页内容,如JavaScript异步加载的数据。在工程实践中,自动化技术广泛应用于Web自动化测试、数据采集和表单填写等场景。其中,Selenium作为主流的浏览器自动化工具,通过驱动真实浏览器执行JavaScript并渲染完整页面,实现了‘所见即所得’的元素定位与交互。本文聚焦于Selenium的实战应用,详细解析了环境搭建、元素

weixin_33805743的博客 378

解析网页-selenium-非常实用-python爬虫知识点7

selenium的使用 一、引入 爬虫和反爬虫的斗争 二、selenium背景 静态网页与ajax动态加载 以前爬取的网页都是静态的网页 何为静态网页,其实就是我们向一个网站发起请求得到响应,那么这些响应的数据都是网页的源代码中,通过response就可以得到数据 除了静态网页,还有一些网站数数据不在这个请求得到url地址当中,那么这些护具有可能是通过ajax技术加载出来的数据,例如12306的班次的信息不在url中,查询的内容只是对网页的部分内容更新,这个就是ajax动态加载出来的 element是

weixin_43761516的博客 3474

Selenium打开页面,出现弹窗需要登录账号密码,怎么解决?

有时候,遇到需要登录账号密码的情况,无疑会想到用selenium。用selenium打开普通页面,其实都非常简单,但是你有没有遇到过这样的情况呢?

Python进阶专栏《爬虫实战进阶》,《Pyppeteer从入门到精通》原创作者 7224

[python] 使用selenium模块实现QQ邮箱的自动化登录及邮件发送

在我们日常工作中,会有很多需要通过邮箱进行的推送,比如数据集更新推送、自动回复等等。这些操作的前提是需要自动化的登录到邮箱中,并操作QQ邮箱进行写信发送的操作,所以接下来配合着code来解释一下一个完整的邮件登录发送过程。

颖森的博客 1万+

Mask2Former实战:用SwinTransformer+Deformable Attention搞定图像分割三大任务

本文实战解析了Mask2Former模型如何统一解决语义、实例和全景分割三大任务。通过集成Swin Transformer骨干网络与创新的Deformable Attention及Masked Attention机制,详细介绍了模型构建、训练策略及在COCO数据集上的性能表现,为开发者提供了高效的图像分割解决方案。

tech5的博客 246

告别Keil/IAR:在VSCode中用CMake+Clangd打造丝滑的STM32开发环境(附完整配置)

本文详细介绍了如何在VSCode中使用CMake和Clangd搭建高效的STM32开发环境,替代传统的Keil/IAR工具。通过完整的配置指南和快速开发技巧,帮助开发者实现轻量级、高度可定制的现代化开发流程,显著提升STM32项目的开发效率。

weixin_26843605的博客 166

python 网页登录selenium_Selenium网页自动登录项目(基于Python从0到1)

Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等操作。本文讲述的是通过自动化的方式登陆某一网站,其中包含Selenium+python自动化项目环境如何部署, 获取图形验证码登录,元素获取方法,项目中遇到的问题,看完你会发现原来Selenium自动化轻松入门,是多么的简单,Selenium+python也可以用于爬虫。本文将从环境部署到项目开发一步步讲解...

weixin_39773447的博客 867

EDF Browser使用说明和技巧

edf browser使用说明和一些小技巧

Erhu_666的博客 8333

Go Selenium WebDriver高级技巧:弹窗、Cookie与日志处理实战指南

在Web自动化测试与数据采集领域,Selenium WebDriver是模拟浏览器交互的核心工具。其工作原理是通过WebDriver协议与浏览器驱动通信,实现对页面元素的定位与操作。掌握其高级功能,能极大提升脚本的稳定性与可维护性,这是构建生产级自动化方案的技术价值所在。典型的应用场景包括处理复杂的登录流程、维护用户会话状态以及调试页面JavaScript错误。本文将聚焦于Go语言生态下的`tebeka/selenium`库,深入解析**弹窗处理**、**Cookie管理**与**浏览器日志捕获**这三个关

cuemes08808的博客 497

Jaspersoft Studio安装与配置全攻略:从下载到首个报表生成

本文提供Jaspersoft Studio从下载、安装到创建首个报表的完整实战指南。详细介绍了如何获取安装包、配置工作空间,并通过可视化设计器创建报表模板、添加参数与字段,最终实现数据预览与PDF导出。帮助Java开发者快速掌握这一强大的开源报表工具,提升报表开发效率。

weixin_28826521的博客 704

【UE5】UE5 Dedicated Server专用服务器与网络同步

这篇文章是个人在学习UE4的网络同步方面的内容的一些记录,因为UE5出来了,顺带也一起熟悉熟悉UE5,所以也就直接使用UE5来实践了。说句实在话,UE4网络同步这块确实挺难的,我自己在网上搜索的博客的内容要么停留在很浅层面只搭建一个ds服务器,要么就直接深入源码去剖析UE4的网络机制,处在中间层面的内容少之又少,不得不自己好一阵研究,强烈推荐这几位博主的博文,我在学习的过程中也从中受益匪浅。 Ken_An、风蚀之月、 刘东无敌还有我师傅推荐给我的一本关于UE4网络的PDF。 一、什么是Dedicated

Goulandis 3万+

Python Selenium自动化登录实战:从环境搭建到反爬策略

Web自动化是提升工作效率、实现流程自动化的关键技术,其核心原理是通过程序模拟用户操作浏览器,完成点击、输入、导航等交互行为。在技术实现上,Selenium作为主流的浏览器自动化工具,通过WebDriver协议与浏览器通信,实现对页面元素的精准定位与操作。这项技术的价值在于将重复性高、规则明确的网页操作转化为可配置、可复用的代码,广泛应用于软件测试、数据采集和办公自动化等领域。以自动化登录场景为例,开发者需要掌握环境配置、元素定位、等待策略等核心技能,并应对验证码、反爬检测等挑战。本文以智慧树平台为例,详细

weixin_34342992的博客 831

战舰V3移植CANopenNode并驱动电机全流程

第三部分是电机的对象字典(也就是节点的OD)中的索引,长度2个字节。索引发送的是小段模式,比如这一部分为0X40 0X60,实际操作的索引地址为0X6040。第一部分是COB-ID,长度1个字节,电机的node-ID默认为0x01,所以报文ID一直是601。第五部分是要写入的数据,数据发送的时候是小端模式,低字节数据先发送,长度由第二部分决定。配置定时器6,时间为1ms,根据公式计算得到参数PSC取72-1,ARR取1000-1。第二部分是CMD,长度1个字节,其实就是数据部分的长度,

qq_50526837的博客 3047

【Python爬虫】selenium的详细使用方法

本文就selenium新老版本介绍了最基础的用法,如定位、页面操作、鼠标操作、键盘操作等,还展示了fake-useragent与selenium结合使用以及selenium的隐藏指纹来躲避反爬,还拓展了selenium获取网页中networks数据的多种操作

Eliminateeeeee的博客 3125

Augustus手动安装教程

本文记载了如何结合conda手动安装Augustus

m0_65437087的博客 1257

LearningToRank(LTR)排序算法LGBMRanker的原理和使用

1. 写在前面 在最近新闻推荐的比赛中, 接触到了一个排序模型LGBMRanker, 该模型与普通的分类模型LGBMClassifier不太一样, 普通的分类模型在进行推荐的时候, 往往是先预测某个商品或者文章用户会不会点击, 也就是它的目标是预测用户点击某篇文章或者某个商品的概率, 然后根据这个概率值进行排序, 排完之后,把最靠前的几个返回回来给用户进行推荐。 而LGBRanker模型, 它不关心用户点击某篇文章的概率, 而是根据用户点击或者不点击的这个行为, 直接去预测最后商品或者文章的一个相对顺序,

Miracle8070 1万+

基于Selenium的视频弹窗自动化交互脚本:无限制实时监测与处理方案

浏览器初始化 启动带界面Chrome,加载目标视频页面,方便手动登录 webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)", element)TARGET_URL = "https://tj.100.wang/#/detail?print(f"[{datetime.datetime.now()}] 第{popup_count}次弹窗处理失败:{str(e)}")

gooesman的博客 826

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Selenium自动化实战:Python实现163邮箱自动登录与Web元素定位详解

Web自动化是提升开发与测试效率的核心技术,其原理是通过程序模拟用户操作浏览器,实现页面交互的自动化执行。在技术选型中,Selenium凭借其成熟的生态、跨浏览器支持及真实的操作模拟能力,成为UI自动化领域的经典工具,尤其适用于表单填写、流程测试等场景。本文以163邮箱自动登录为具体案例,深入剖析了Selenium的环境配置、元素定位策略及异常处理机制,涵盖了iframe处理、显式等待等关键实践,为RPA流程开发和日常效率工具编写提供了可直接复用的解决方案。

weixin_33912246的博客 385

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Selenium自动化登录实战:从原理到避坑的完整指南

Web自动化是提升测试效率和业务流程自动化的关键技术,其核心在于模拟真实用户与浏览器的交互。Selenium作为主流的浏览器自动化工具,通过WebDriver协议驱动真实浏览器,能够执行点击、输入、导航等操作,有效处理JavaScript渲染和动态内容。这项技术的核心价值在于将重复、手动的Web操作转化为稳定、可编程的流程,大幅提升执行一致性并支持无人值守任务。在自动化测试、数据抓取、日常办公流程自动化等场景中,自动化登录往往是关键的第一步。本文聚焦于使用Selenium构建健壮的自动化登录模块,深入探讨了

weixin_34302561的博客 354

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

『python爬虫』selenium实战-comicai绘画ai账密签到(保姆级分布注释)

『python爬虫』selenium实战-comicai绘画ai账密签到(保姆级分布注释)

MZH 1205

Python Selenium自动化登录:绕过验证码的4种合规策略与Cookie复用实战

在Web自动化测试与数据采集领域,验证码是阻碍流程自动化的常见挑战。其核心原理是通过人机交互验证来区分人类用户与自动化脚本,旨在防止恶意爬取与滥用。从技术价值看,有效处理验证码能显著提升自动化流程的稳定性与效率,是RPA(机器人流程自动化)和自动化测试的关键环节。常见的应用场景包括网站功能回归测试、定时数据监控抓取以及内部管理工具开发。本文聚焦于Selenium自动化框架,深入探讨了在合规前提下,通过环境配置、状态复用、替代入口及人机协同等策略来规避验证码的工程实践。其中,Cookie复用登录策略因其高稳定

weixin_34220179的博客 397
上一篇: 一文入门typescript+selenium进行web自动化测试
下一篇: Ubuntu桌面版工作环境配置(二、常用软件安装)
GavinHaydy
博客等级 码龄7年 819粉丝 26原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值