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文件中

以后自动化脚本中遇到弹窗均可调用该方法

原文地址:https://www.cnblogs.com/tynam/p/10260021.html