Selenium处理授权框,登录框,握手框

在Web自动化中,常常遇到三种弹框:

  1. JavaScript警告框,如alert,confirm,prompt等,如下图:
    处理方法为driver.switch_to.alert().dismiss()或river.switch_to.alert().accept()

Alert弹框
Alert弹框

Confirm弹框
Confirm弹框

Prompt弹框
Prompt弹框

  1. DOM弹框,或者叫div弹框,这种弹框本身就在html代码中,只是原来隐藏了,触发时会以对话框形式显示出来,如下图:
    处理方法为,按正常操作,触发显示(建议sleep(.5)),然后直接定位操作上面的元素即可。也可使用js跳过流程,直接使对话框显示,然后定位操作。
    DOM弹框

  2. 弹出小窗口,这种小窗口实际上是个网页窗口,无须处理(driver还在原页面),或使用switch_to.window()切换到新窗口,使用driver.close()关闭即可。

第4种弹框你见过吗?
访问:http://115.28.108.130:5000/api/user/login2/,如下图:

授权弹框

这种,弹框即不在html中,也不在js中,也不是新窗口,这种该怎么处理呢?
这种属于Basic Auth的授权弹框,在加载页面前进行用户名密码验证后才能访问。
如果你了解URL的组成,会发现,其实解决方法非常简单。
URL的组成:

协议://用户名:密码@服务域名或IP:端口号/接口地址?查询参数

这种Basic Auth的授权页面只需要把用户名密码放到URL中即可:
示例代码:

from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get('http://admin:secret@115.28.108.130:5000/api/user/login2/')

sleep(3)
driver.quit()

效果下图所示,以完成授权:
登录弹框

转载于:https://www.cnblogs.com/superhin/p/11482479.html

selenium記錄企業微信獲取cookies,免登陸操作 步驟: 登錄企業微信,獲取cookies 刪除cookies中的expiry字段 把cookies加入到driver中 找到“通訊錄”元素並點擊,驗證已經登錄成功 步驟一 【前提:1.打開企業微信登錄頁,2.掃碼登錄企業微信,3.運行下列代碼復用當前頁面點擊“通訊錄”獲取cookies】 from selenium import webdriver from selenium.webdriver.chrome.options import Options class TestCookie: 阅读详情

相关推荐

Orcad 17.2导出PDF原理图终极指南:从Ghostscript安装到带属性书签配置

本文是Orcad 17.2导出高质量PDF原理图的终极指南。针对导出过程中常见的Ghostscript安装报错、软件卡死及版本兼容性问题,提供了详细的解决方案。重点推荐使用Ghostscript 9.53.3版本以确保最佳兼容性,并深入讲解了从安装配置、内存优化到高级书签属性设置的完整流程,帮助硬件工程师稳定、高效地生成带完整器件属性和导航书签的PDF文档。

weixin_29281915的博客 284

微信公众号的爬取 Selenium+Chromedriver

自动爬取微信公众号历史所有文章以及封面图片 Selenium + Chromedriver

【连接器专题】 EIA-364 系列标准的完整列表

EIA-364 系列标准在电子工业中具有重要的地位,为电子连接器和互连系统的测试和验证提供了统一的、可操作的流程和方法,有助于提高电子产品的质量和可靠性,促进了电子工业的发展

一点硬件 2520

微信网页扫码登录

前段时间,产品要加一个微信扫码登录的功能 我和后台就开始整 !整了也有一天时间吧,主要感觉和后台没有磨合好,弄的时间比较长,好了直接进入正题吧! 先贴一段微信开放平台(https://open.weixin.qq.com) 一开始我用的是第二种方法,直接掉wx的接口去生成二维码,然后扫码成功后wx会在重定向到redirect_uri你填写的url,然后路径会有两个参数一个是code...

猿的计划的博客 734

解决selenium授权auth弹窗登录问题

背景:模拟弹窗类型授权网站登录,然后输入关键词进行查询的交互操作 如图: 原因: 弹窗不方便确认element代码元素位置,难以获取相关元素进行操作。 解决办法01 核心代码: browser.get("http://username:password@rpc-admin.middleware.k2.test.wacai.info/") 说明:将登陆的用户名和密码按照上面的路径进...

lx2324268860的博客 4791

案例:selenium实现登录处理弹窗

func.py https://www.cnblogs.com/andy9468/p/10899508.html main.py中 # 导入webdriver import os import time from lxml import etree from selenium import webdriver from func import base642str,...

weixin_30484247的博客 3712

Python + Selenium + Chrome 使用代理 auth 的用户名密码授权

米扑代理,全球领导的代理品牌,专注代理行业近十年,提供开放、私密、独享代理,并可免费试用 米扑代理官网:https://proxy.mimvp.com   本文示例,是结合米扑代理的私密、独享、开放代理,专门研发的示例, 支持 http、https的无密码、白名单ip、密码授权三种类型   示例中,用的插件 xpi 请到米扑代理官网,或米扑官方 github 下载 本文,直接给出完整...

阳光岛主 1万+

Selenium 自动化处理授权框登录框握手

Selenium 是一个广泛用于自动化 web 浏览器操作的工具,可以用于模拟用户在浏览器中的交互。在自动化测试和网页数据抓取中,经常会遇到需要处理授权框登录框握手的情况。在本文中,我们将详细介绍如何使用 Selenium 处理这些常见的弹出,并提供示例代码。使用 Selenium,可以轻松地处理授权框登录框握手,使自动化测试和数据抓取更加高效。上述示例提供了如何处理这些常见弹出的方法,但需要根据具体网站的 HTML 结构和弹出的特性来进行调整。

霍格沃兹测试学院的博客 1115

Selenium自动化处理授权框,登录框,握手

Alert弹Confirm弹Prompt弹DOM弹,或者叫div弹,这种弹本身就在html代码中,只是原来隐藏了,触发时会以对话形式显示出来,如下图:处理方法为,按正常操作,触发显示(建议sleep(.5)),然后直接定位操作上面的元素即可。也可使用js跳过流程,直接使对话显示,然后定位操作。弹出小窗口,这种小窗口实际上是个网页窗口,无须处理(driver还在原页面),或使用switch_to.window()切换到新窗口,使用driver.close()关闭即可。

测试-八戒 569

浏览器打开微信公众号h5页面,增加cookie绕过微信授权登录

from selenium import webdriver from time import sleep driver = webdriver.Chrome() #插入cookie需要与cookie相同的页面的域名,下面这个链接不需要登录就能打开 driver.get(r"https://m.qlchat.com/live/310000108181722.htm") cookies = {"n

JOJOY的博客 2万+

selenium webdriver通过http basic authentition

做两步处理 1、第一步 driver.get("https://user:password@domain/") 谷歌提供的方法,后期可能会启用 2、第二步 driver.get("https://domain/")

weixin_42916710的博客 726

python+selenium打开网站需要输入用户名和密码的解决方法

有些网站进去之前会弹出一个窗口,需要用户输入用户名和密码才行,本想通过selenium定位到输入自动填入验证信息的时候,发现在页面中找不到这个弹的元素,就无法定位。 网上搜索之后发现可以用下面这样的地址访问: http://username:password@url 比如,你的用户名和密码都是admin 就可以使用:http://admin:admin@172.16.50.36 直接登...

zh54b5n64vn64654的博客 1万+

史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)

Spring Cloud Bus 将分布式的节点和轻量的消息代理连接起来。这可以用于广播配置文件的更改或者其他的管理工作。一个关键的思想就是,消息总线可以为微服务做监控,也可以作为应用程序之间相互通讯。本文要讲述的是用AMQP实现通知微服务架构的配置文件的更改。一、准备工作本文还是基于上一篇文章来实现。按照官方文档,我们只需要在配置文件中配置 spring-cloud-starter-bus-amq

方志朋的专栏 29万+

selenium+python实现自动化登录

工作需要实现一个微博自动登录的操作,在网上差了一些资料,决定使用selenium+python实现 selenium是一个web的自动化测试工具,主流一般配合java或者python使用,我这里使用的是python,可支持的浏览器基本包括所有主流浏览器IE、Mozilla Firefox、Google Chrome。 安装过程不再赘述,但是后续使用时,发现很多报错与版本兼容性有关,因此这里列...

weixin_30613727的博客 431

Eureka启动一直报错:Network level connection to peer localhost; retrying after delay

Eureka单节点启动后后台一直报错com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: 拒绝连接 (Connection refused),如下图: 解决: client配置中添加serviceUrl:defaultZone: http://localhost:${server.po...

weixin_30539625的博客 1万+

Visual Studio2017离线下载

Visual Studio2017离线下载,可以自定义选择不同的版本以及需要的工具等。 之前下载vs2017手动操作虽然不难,但是比较麻烦,现在有现成的包,希望大家会喜欢。

上一篇: 2019ACM-ICPC徐州网络赛-E-XKC's basketball team(set+贪心)
下一篇: 2019ACM-ICPC徐州网络赛-K- Center(简单贪心+map)
weixin_30539625
博客等级 码龄11年 127粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值