selenium-弹窗操作(八)
本次以笔者公告栏的 打赏 弹窗为例
对弹窗中的一些操作进行封装后,在测试中使用
作用:减少对弹窗反复操作时进行定位的麻烦,以后使用中都直接调用即可达到目的
1 # coding=utf-8 2 3 from selenium import webdriver 4 import unittest, time 5 6 class dialogManu(unittest.TestCase): 7 8 9 def dialog(self): 10 u"定位dialog" 11 dialog = self.dr.find_element_by_class_name('shang_box') 12 return dialog 13 14 def dialog_close(self): 15 u"关闭弹窗" 16 dialog = dialogManu.dialog(self) 17 close = dialog.find_element_by_class_name('shang_close').click() 18 return close 19 20 def dialog_select_pay(self,text): 21 u"弹窗中支付选则" 22 dialog = dialogManu.dialog(self) 23 pay_items = dialog.find_elements_by_class_name('pay_item') 24 25 if text == "微信": 26 pay_select = pay_items[1].click() 27 elif text == "支付宝": 28 pay_select = pay_items[0].click() 29 else: 30 print("没有找到" + text) 31 32 return pay_select 33 34 35 def test_dialog(self): 36 u"testcase" 37 self.dr = webdriver.Chrome() 38 self.dr.maximize_window() 39 url = "https://www.cnblogs.com/tynam/p/10260021.html" 40 self.dr.get(url) 41 self.dr.implicitly_wait(10) 42 43 # 进入到支付dialog 44 self.dr.find_element_by_class_name('dashang').click() 45 time.sleep(1) 46 47 dialog = dialogManu.dialog(self) 48 # 选则微信支付 49 dialogManu.dialog_select_pay(self, "微信") 50 51 # 关闭dialog 52 dialogManu.dialog_close(self) 53 54 # 关闭浏览器 55 self.dr.close() 56 57 if __name__ == '__main__': 58 unittest.main()
这而暂时只是对单个弹窗进行封装的处理
在实际项目中可以对项目中所有的弹窗进行封装,都封装在该py文件中
以后自动化脚本中遇到弹窗均可调用该方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY