1 # coding = utf-8
2 from selenium import webdriver
3
4
5 class loginGUI:
6 def login(self,driver,username,password,autoLogin_checkbox=None):
7
8 # GUI中定位所需元素
9 dr = self.get_driver(driver)
10 username_element = dr.find_element_by_id('input1')
11 password_element = dr.find_element_by_id('input2')
12 autoLogin_checkbox_element = dr.find_element_by_id('remember_me')
13 login_btn = dr.find_element_by_id('signin')
14
15 # 执行步骤
16 username_element.send_keys(username)
17 password_element.send_keys(password)
18 self.checkBox_operation(autoLogin_checkbox_element,autoLogin_checkbox)
19 login_btn.click()
20
21 # 判断 下次自动登录 传的值是否正确
22 def checkBox_operation(self,autoLogin_checkbox_element,autoLogin_checkbox):
23 if autoLogin_checkbox == True:
24 if autoLogin_checkbox_element.is_selected() == False: # 判断是否被选中
25 return autoLogin_checkbox_element.click()
26
27 elif autoLogin_checkbox == False or autoLogin_checkbox == None:
28 if autoLogin_checkbox_element.is_selected() == True: # 判断是否被选中
29 return autoLogin_checkbox_element.click()
30 else:
31 return None
32
33 def get_driver(self,driver):
34 url= 'https://passport.cnblogs.com/user/signin'
35
36 if driver == 'chrome':
37 driver = webdriver.Chrome()
38 elif driver == 'edge':
39 driver = webdriver.Edge()
40 else:
41 driver = webdriver.Safari()
42
43 driver.get(url)
44 driver.implicitly_wait(10)
45 return driver