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