python+selenium+unittest

本文解答了Selenium自动化测试中常见的七个问题,包括switch_to_window()方法过时的替换方案、unittest框架下测试用例执行顺序的调整、避免重复启动浏览器的方法、iframe及弹框的处理技巧、页面元素存在的判断等,提供了丰富的代码示例和参考链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题一:

switch_to_window()    在使用时出现删除线

解决方法:
这是因为这个方法太老了哦,只需要换成以下方法就好:

switch_to.window()

问题二:

运行时,方法def不是按照顺序执行的
解决方法:
unittest 框架默认根据ASCII码的顺序加载测试用例,数字与字母的顺序为:09,AZ,a~z
如果要让某个测试用例先执行,不能使用默认的main()方法,需要通过TestSuite类的addTest()方法按照一定的顺序来加载
参考文章:https://www.cnblogs.com/klb561/p/9315127.html

问题三:

每个def执行以后都得关闭浏览器,然后下一个用例再次重启浏览器
解决方法:
https://www.cnblogs.com/bainianfengri/p/7273501.html
https://www.cnblogs.com/bainianfengri/p/7251164.html

问题四

切换iframe
https://www.cnblogs.com/zhengmengfei/p/8656677.html
两个iframe相互切换:
https://blog.youkuaiyun.com/huilan_same/article/details/52200586

问题五

操作弹框alert:
https://www.cnblogs.com/fengyiru6369/p/7229883.html

问题六

警告弹框处理以后无法继续定位页面某些元素/跳出iframe
我代码例子里面是因为弹框处理以后在iframe里,需要进行外部操作的话要跳出iframe
https://blog.youkuaiyun.com/u010141562/article/details/60142051

问题七

selenium判断页面是否存在某元素:

        try:
           browser.find_element_by_xpath('/html/body/div/div/form/div[6]/div/button[2]')
           a = True
        except:
            a = False
        if a == True:
            print("存在该元素")
        else:
            print("没有找到该元素")

具体代码讲解:
https://www.cnblogs.com/fnng/p/3300788.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值