diff --git a/ewcc2.py b/ewcc2.py index 49982a1..278d760 100644 --- a/ewcc2.py +++ b/ewcc2.py @@ -1,4 +1,4 @@ -from tkinter import N +from tkinter import N, NO from DrissionPage._base.chromium import Chromium from DrissionPage._configs.chromium_options import ChromiumOptions from DrissionPage._pages.mix_tab import MixTab @@ -18,9 +18,8 @@ class Sinopec_ewcc(object): self.co.ignore_certificate_errors(True) self.browser=Chromium(self.co) self.tab=self.browser.latest_tab - logger.info(f"浏览器初始化完成,当前URL: {self.tab.url}") - def quit(self ): + def quit(self): self.browser.quit() logger.info(f"浏览器已退出") @@ -111,30 +110,22 @@ class Sinopec_ewcc(object): find_tab=self.browser.get_tab(title=title) logger.info(f"根据 标题名{title} 找到 标签") except : - logger.exception("根据 标题名: {title} 没有找到标签") + logger.exception(f"根据 标题名: {title} 没有找到标签") find_tab=None return find_tab def is_login(self): - if self.tab is None: - return False - time.sleep(2) - cur_login=False - ### 判断是否有仍然发送的界面 + logger.info(f"判断是否登录") try: - ele_process = self.tab.ele('#proceed-button') - ele_process.click() - time.sleep(3) - except Exception as e: - logger.error(f"处理提示出错:仍然发送 : {e}") - try: - e=None e=self.tab.ele("#userName") - logger.info(f"找到登录成功的标志: {e.text}") - cur_login=True + if e: + logger.info(f"找到登录成功的标志: {e.text}") + cur_login=True + else: + logger.info('没有找到登录成功的标志') + cur_login=False except Exception as e: - logger.info(f'没有找到登录成功的标志,错误代码:{e}') cur_login = False return cur_login @@ -160,39 +151,37 @@ class Sinopec_ewcc(object): ### 判断是否有仍然发生的界面 try: ele_process = self.tab.ele('#proceed-button') - ele_process.click() - + if ele_process: + ele_process.click() + logger.info("继续发送按钮存在并已点击") except Exception as e: - logger.info(f'证书继续按钮处理异常: {e}') + logger.error(f'继续发送按钮处理异常: {e}') time.sleep(3) return True def Autologin(self,username=None,userpass=None,otp=None,cookies=None): - # 1 查找现有的标签 - logger.info('<1> 查找 现有的标签') - if self.find_tab(): # 新增:查找标签页 - logger.info("找到现有标签页") # 2 如果没有登录 ,则使用cookie登录 if not self.is_login(): - logger.info('<2> 找不到对应的网站,使用cookies尝试登录') + logger.info('使用cookies尝试登录') self.init_cookies(cookies) self.tab.get(self.url) self.tab.refresh() time.sleep(3) + ### 判断是否有仍然发生的界面 try: - ele_process = self.tab.ele('#proceed-button') - logger.info("证书继续按钮存在并已点击") - ele_process.click() + ele_process = self.tab.ele('#proceed-button') + if ele_process: + ele_process.click() + logger.info("继续发送按钮存在并已点击") except Exception as e: - logger.info(f'证书继续按钮处理异常: {e}') + logger.info(f'继续发送按钮处理异常: {e}') # 3 判断是否登录,如果登录不成功,则使用帐号和密码登录 if not self.is_login(): - logger.info('<3> 找不对应的网站,使用帐号密码登录') - # 这里要注意12小时才可以登录一次。 + logger.info('<2> 使用帐号密码登录') # 这里显示登录界面,并等待输入一分钟 self.login(username=username,userpass=userpass,otp=otp) diff --git a/query_processor.py b/query_processor.py index 7625f8a..504c3e7 100644 --- a/query_processor.py +++ b/query_processor.py @@ -163,21 +163,23 @@ def save_param4(param4_value): # 主处理函数 def main(): logger.info("查询处理代码启动") - ewcc = Sinopec_ewcc() + ewcc = Sinopec_ewcc() + i =0 # 主循环 while True: - try: # 获取参数配置 parameters = get_parameters() if not parameters: - logger.warning("无法获取参数配置,停止30秒后继续") - time.sleep(30) + logger.warning("无法获取配置参数,停止5秒后继续") + time.sleep(5) continue - # 判断当前连接状态,重新连接 if not ewcc.browser.states.is_alive: - ewcc.browser.reconnect() + logger.info("浏览器连接已断开,尝试重新连接") + ewcc.quit( ) + ewcc=Sinopec_ewcc() + continue # 自动登录 if not ewcc.Autologin(parameters['param1'],parameters['param2'],parameters['param3'],parameters['param4']):