This commit is contained in:
2025-09-28 21:13:40 +08:00
parent ff3a77020a
commit 11dcf83e1f
2 changed files with 30 additions and 39 deletions
+22 -33
View File
@@ -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)