From 5daf290299d599fddd69223bf1776fb83b2d36ac Mon Sep 17 00:00:00 2001 From: bwadmin <7469504@qq.com> Date: Wed, 24 Sep 2025 14:55:57 +0800 Subject: [PATCH] corp0924 --- car_info.db | Bin 40960 -> 40960 bytes ewcc2.py | 68 +++++++++++++++++++-------------------------- query_processor.py | 24 ++++++++-------- 3 files changed, 42 insertions(+), 50 deletions(-) diff --git a/car_info.db b/car_info.db index c39b52775ad42439e5566b4152e194c16fcce26c..68d66fc0b25bcd0257e6e5f5c3b4eef20cdd738c 100644 GIT binary patch delta 2147 zcmd5+U2IcT9B_B?k4^FjvKd)?&VBvC?D@ALFJLNRp8Zq!>~vu|Q<%=rp1WF@zBP9(y_wI$;Y!KTJfr!TfM5Gn44@4Q6#WrfR+cl+F-i)9PU>lGMw=T6yY*0O9u@Y!S z0(*#UnIjCOX)Y&VAYc`53pfsgRrawPl*W9!_47g zcGdqv5t{(j><%9iB(My#PtRut7SHq#E?%@DtfF|*Po%OlAxw2G88<^Q)s$m_P3uaD zw`2}2Zl4Qm@|U(@OQwHezf9z!223~vu{z3w`&I~sk}4P!d3BV6^HssWYPOh+^BV3t zcbsdf{k`_f+E;5GwKb+6OK?0Z;0pKaJ zE)I+do;`EPTDW=MI3pN~$PLSogc2x0fJKCh=`0~35X8BQ*R94Gy1JY&yh~OF%_3SoJd4LbVtBHO(k7 z4uIa;Cu%6qbfMm?NeM;-@qk|r6Op)(=v!09d$ejra`9P=*vKB!%3CqB{5Js+Ew0U?38az~xBhEBxsC$JQ#fl=lR^ zvNMhIJJJu=tf{PO(A3`LKIbBwrTTtV!;RBF=xfeSFzL59)xZCWvL#zzNeS~CQsyt4 z#lVmc28V_M$RC7+LUD-M_C=q>2jP(4M}5-EkX4qIh)1++sXUwl>*BuXU_3M$8w>ge z{ju1IP*C|QyLCtERA=JU$^AXuW1ZceNMyV}=IWQ?dyZNxyUdnAEb0r5T5M)ZtMYit zqCCpoQ9jHX#lgW&NAIAs+uiAw*-{Oi@I}UhYUEMNNFp&7x3#tT#uFp0@sKadzDD1a zYLvRHdFe2FvKBKY%=PWGo$%DTpHMp@67OX94|dpr2nC0-FSmu|F5NZ1=5NXjWc^oCtYS5!{1-;>=A zneTCQMSDEXlxuh!?@%YPrzTxT?86E7*dYNq`X_~W&zQF>KAe21Pi6s@UCOt)=ag$% zVYL)E&>l;;`ehnZe#_1)UtHmyVYf895F~afo}FOMU#gl_`SbFI|4F&p|3kS{o3#34 z(Y8=v?5IUGkdmCrDT!P{IgqW}(bYddWHQv3ly%1=+)->)5N>VlWaL4vmhVj4bm{(LLMv_O`ZQ((hNTQ_7_n a-#U_rM%a6|GWpjU5VEleLH_O)p#2-vb#Ipd delta 487 zcmZoTz|?SnX@WFk{zMsP)_exNWX6pt3-~#h_~$b4&*i_nSx_OKpRH6}US3&s@-lgy z$#dn?fs*eT_}}w?-z?bhn1Azo{lol>oRc@(D>Gi1eBEA_hlP`oS)8%7IJKylX_Ets z0*ehx2*YHKgmT7^jg42BIkjena4;B)GcZn$OOX=(Z)jw$X8?qTS~G*8;$10H$;jeC z5OH}5Xg#lyn) ziGhCue*(WI->1!j0+0BZOj#yt*PCqCsJ|n?$I2tZz;}Uv8-EVJ5|0Q_ej6882P-Eh zgSw(*zx3pXGwsccO$|&flTwWh42=vD&5|t5Em9Jb(~OLPwk28`nkUv6nwwgf8Je0| zm>@AH$4)hv95iPxbE_riWVz`IlYh+=oSZyYT*2JL+0og+)z#F++|ba_)Y8P+&DqV( z!r95p+}Yg1z;bfibe+k)GfcUSOq_%K3yMpe3_T~Go$+z 查找 现有的标签') - self.find_tab() # 新增:查找标签页 + if self.find_tab(): # 新增:查找标签页 + print("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") # 2 如果没有登录 ,则使用cookie登录 if not self.is_login(): print('<2> 找不到对应的网站,使用cookies尝试登录') self.init_cookies(cookies) - self.new_tab() + self.tab.get(self.url) + self.tab.refresh() + time.sleep(3) + ### 判断是否有仍然发生的界面 + try: + ele_process = self.tab.ele('#proceed-button') + print("**********************************") + ele_process.click() + except Exception as e: + print(e) # 3 判断是否登录,如果登录不成功,则使用帐号和密码登录 if not self.is_login(): @@ -232,37 +253,6 @@ class Sinopec_ewcc(object): return rtn -if __name__ == "__main__": - ewcc = Sinopec_ewcc() - - # 1 查找现有的标签 - print('<1> 查找 现有的标签') - ewcc.find_tab() # 新增:查找标签页 - - # 2 如果没有登录 ,则使用cookie登录 - if not ewcc.is_login(): - print('<2> 找不到对应的网站,使用cookies尝试登录') - ewcc.load_cookies() - ewcc.new_tab() - - # 3 判断是否登录,如果登录不成功,则使用帐号和密码登录 - if not ewcc.is_login(): - print('<3> 找不对应的网站,使用帐号密码登录') - # 这里要注意12小时才可以登录一次。 - # 这里显示登录界面,并等待输入一分钟 - ewcc.show_login() - - # 4 判断是否登录 ,如果失败,则发送信息到微信上 - if ewcc.is_login(): - ewcc.tab.refresh() - ewcc.save_cookies() - print(" 保存cookies") - else: - ewcc.send_message() - - # ewcc.query_car_info() - - ewcc.quit() diff --git a/query_processor.py b/query_processor.py index 6b7ef44..f20cd1a 100644 --- a/query_processor.py +++ b/query_processor.py @@ -14,7 +14,7 @@ logging.basicConfig( logger = logging.getLogger(__name__) # API基础URL -BASE_URL = 'http://localhost:99' +BASE_URL = 'http://10.190.20.156:99' # 演示数据处理函数 def process_query_data(query_data, parameters): @@ -52,7 +52,7 @@ def get_parameters(): data = response.json() if data['success']: - logger.info(f"成功获取参数配置: {data['data']}") + logger.info(f"成功获取参数配置: ") return data['data'] else: logger.error(f"获取参数配置失败: {data['error']}") @@ -166,11 +166,9 @@ def save_param4(param4_value): # 主处理函数 def main(): logger.info("查询处理代码启动") - - + ewcc = Sinopec_ewcc() # 主循环 while True: - ewcc = Sinopec_ewcc() try: # 获取参数配置 @@ -180,7 +178,11 @@ def main(): time.sleep(30) continue - # 登录浏览器 + # 判断当前连接状态,重新连接 + if not ewcc.browser.states.is_alive: + ewcc.browser.reconnect() + + # 自动登录 if not ewcc.Autologin(parameters['param1'],parameters['param2'],parameters['param3'],parameters['param4']): time.sleep(30) continue @@ -192,12 +194,9 @@ def main(): pending_queries = get_pending_queries() # 处理每条查询 - ewcc.query_car_info("湘AB5W21") for query in pending_queries: # 处理查询数据 - rtn_cars_info=ewcc.query_car_info(query['plate_number'],query['phone']) - #results_count = process_query_data(query, parameters) - + rtn_cars_info=ewcc.query_car_info(query['plate_number'],query['phone']) # 更新查询结果 update_query_result(query['id'], len(rtn_cars_info), rtn_cars_info) @@ -220,8 +219,11 @@ def main(): logger.error(f"处理过程中发生错误: {str(e)}") # 发生错误时,等待更短的时间后重试 time.sleep(30) - + logger.info("查询处理器停止") + if ewcc: + ewcc.quit() + if __name__ == '__main__': main() \ No newline at end of file