登录增加切换代理重试,有些代理会显示账号或密码错误
This commit is contained in:
@@ -918,6 +918,9 @@ def playwright_m_login(username, password, code_2fa=None):
|
|||||||
with lock:
|
with lock:
|
||||||
with sync_playwright() as playwright:
|
with sync_playwright() as playwright:
|
||||||
update_windows_distinguish()
|
update_windows_distinguish()
|
||||||
|
max_proxy_retries = 3
|
||||||
|
proxy_retry_count = 0
|
||||||
|
while proxy_retry_count < max_proxy_retries:
|
||||||
proxy_url = ProxyChecker(timeout=8).get_valid_proxy_url()
|
proxy_url = ProxyChecker(timeout=8).get_valid_proxy_url()
|
||||||
if proxy_url is None:
|
if proxy_url is None:
|
||||||
raise OperationFailed("获取代理失败")
|
raise OperationFailed("获取代理失败")
|
||||||
@@ -978,9 +981,21 @@ def playwright_m_login(username, password, code_2fa=None):
|
|||||||
failed_login = page.query_selector(failed_login_selector)
|
failed_login = page.query_selector(failed_login_selector)
|
||||||
if failed_login:
|
if failed_login:
|
||||||
# 登录失败, 返回失败信息
|
# 登录失败, 返回失败信息
|
||||||
page.screenshot(path=f'./log/screenshot/{username}_{time.strftime("%Y-%m-%d%H-%M-%S", time.localtime())}_login_failed.png')
|
page.screenshot(
|
||||||
|
path=f'./log/screenshot/{username}_{time.strftime("%Y-%m-%d%H-%M-%S", time.localtime())}_login_failed.png')
|
||||||
logger.info(f"用户名:{username} 密码错误 {failed_login.text_content()}")
|
logger.info(f"用户名:{username} 密码错误 {failed_login.text_content()}")
|
||||||
|
# 关闭当前浏览器
|
||||||
|
browser.close()
|
||||||
|
proxy_retry_count += 1
|
||||||
|
logger.info(f"代理重试 {proxy_retry_count}/{max_proxy_retries}")
|
||||||
|
|
||||||
|
if proxy_retry_count < max_proxy_retries:
|
||||||
|
time.sleep(3) # 等待一下再重试
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
browser.close()
|
||||||
raise OperationFailed(failed_login.text_content())
|
raise OperationFailed(failed_login.text_content())
|
||||||
|
break # 退出代理重试循环
|
||||||
|
|
||||||
# 判断是否有多重验证
|
# 判断是否有多重验证
|
||||||
success_login1 = page.query_selector(success_login_selector1)
|
success_login1 = page.query_selector(success_login_selector1)
|
||||||
|
|||||||
Reference in New Issue
Block a user