python selenium系列(六)实战技巧之弹框处理
admin
2023-07-19 07:23:38
0

前言

 

在页面操作中,可能会出现一些非预期的弹框,就拿最简单的登录场景来说,在登录成功后进入页面前,可能弹出某类提示信息的窗体,这类窗体的共性是:非必然出现。也就是说,当你登录系统的外部条件满足时,不会出现;否则出现,且阻止了页面的加载。针对该类问题,本文介绍一个小技巧来处理此类或有或无的窗体弹框。

 

为什么需要处理或有或无的弹框

在脚本开发中,我们重视脚本的稳定性,除了系统页面发生更改导致脚本必须修正外,其他的外界因素,如此类或有或无的弹框,就可能后续导致脚本的运行失败,所以,脚本应该尽力将潜在的问题处理掉,否则,随着自动化覆盖面的扩大,后期脚本维护会成为严重的技术债。另外,脚本不稳定的自动化基本是在走过场,既不能有效实现回归的目的,也可能摧毁团队对自动化的信心。在此,我们不讨论后期影响,只关注这种场景的处理方法。

 

处理方法

Selenium是考虑到此类场景的,所以提供了相当周到的处理方法。

核心代码如下:

from selenium.webdriver.support import expected_conditions as EC

#判断弹框是否出现,如果出现则点击取消,否则无须处理
result = EC.alert_is_present()(browser) # 如果存在 返回alter对象,否则返回false, 源码
if result:
    print(result.text)
    result.dismiss()
else:
    pass


上面代码,如果没有弹框,脚本正常执行;否则,执行弹框的dismiss()方法,取消弹框,当然也可能是调用弹框的accept()方法,确认弹框,根据实际情况定吧。


四 其他资源

关于python学习、分享、交流,笔者开通了微信公众号【小蟒社区】感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学python。


相关内容

热门资讯

世界杯人文手册:“蓝浪”库拉索... 当库拉索男子足球队第一次踏上世界杯的草坪时,全世界看到的是一个面积444平方公里(小于北京朝阳区、广...
美防长:伊朗履行承诺后才会解冻... △美国国防部长赫格塞思(资料图)美国国防部长赫格塞思当地时间14日称,只有在核实伊朗履行承诺后,伊朗...
赖瑞隆民调领先?高雄选战潜藏诸... 年底高雄市长选举由民进党民代赖瑞隆与国民党民代柯志恩对决,扁系“新台湾国策智库”日前公布最新高雄市长...
美伊达成协议,共和党内部也有人... 凤凰卫视驻纽约记者陈莺迁发回最新报道:关于美伊宣布达成谅解备忘录,美国国内出现多种反应,共和党内部出...
普京与特朗普通话55分钟,祝他... 据参考消息报道,俄罗斯总统助理乌沙科夫6月14日说,俄罗斯总统普京与美国总统特朗普当天通电话,普京向...
美国父亲枪杀强奸14岁女儿的罪... 6月14日消息,美国阿肯色州一桩极具争议的案件尘埃落定,立志参选警长的亚伦・斯宾塞开枪打死性侵自己1...
20岁巴伦·特朗普久违亮相,胡... 当地时间6月14日, UFC历史上最受期待的比赛之一的“UFC Freedom 250”,在白宫南草...
凤凰记者:美伊最大分歧没消失 美伊双方将核问题列为后续谈判事项,而非同步解决。美伊本次达成的谅解备忘录真的可以一劳永逸吗?凤凰卫视...
原创 朱... 北京时间2026年6月9日16时23分,东风商业航天创新试验区的天空划过一道惊艳轨迹——朱雀二号改进...
毕业季4款热门中端机盘点,总有... 高考完终于可以好好挑手机啦! 最近这几款新出的中端机都挺火,给大家简单盘一盘, 看看哪款更适合你~~...