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

以后自動化腳本中遇到彈窗均可調用該方法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM