Update nb4x.py
Browse files
nb4x.py
CHANGED
|
@@ -60,7 +60,7 @@ def get_verification_code(driver, email, max_retries=10, delay=2):
|
|
| 60 |
return verification_code
|
| 61 |
|
| 62 |
except Exception as e:
|
| 63 |
-
logger.error(f"
|
| 64 |
|
| 65 |
time.sleep(delay)
|
| 66 |
logger.info(f"等待验证码,重试第 {_ + 1} 次")
|
|
@@ -125,9 +125,9 @@ def wait_for_url(driver, url, timeout=10):
|
|
| 125 |
except TimeoutException:
|
| 126 |
return False
|
| 127 |
|
| 128 |
-
def wait_for_email_input(driver, timeout=
|
| 129 |
"""等待邮箱输入框出现并返回"""
|
| 130 |
-
global consecutive_failures
|
| 131 |
|
| 132 |
start_time = time.time()
|
| 133 |
while time.time() - start_time < timeout:
|
|
@@ -136,7 +136,7 @@ def wait_for_email_input(driver, timeout=10):
|
|
| 136 |
page_source = driver.page_source
|
| 137 |
logger.info("当前页面源码:")
|
| 138 |
logger.info("=" * 50)
|
| 139 |
-
logger.info(page_source[:500] + "...")
|
| 140 |
logger.info("=" * 50)
|
| 141 |
|
| 142 |
# 获取页面标题
|
|
@@ -189,8 +189,8 @@ def wait_for_email_input(driver, timeout=10):
|
|
| 189 |
except Exception as e:
|
| 190 |
logger.error(f"查找元素时发生错误: {str(e)}")
|
| 191 |
|
| 192 |
-
logger.info("等待
|
| 193 |
-
time.sleep(
|
| 194 |
|
| 195 |
# 更新失败计数
|
| 196 |
if ENABLE_FAILURE_STOP:
|
|
@@ -199,8 +199,8 @@ def wait_for_email_input(driver, timeout=10):
|
|
| 199 |
if consecutive_failures >= MAX_CONSECUTIVE_FAILURES:
|
| 200 |
logger.critical(f"连续失败达到{MAX_CONSECUTIVE_FAILURES}次,停止脚本运行")
|
| 201 |
import sys
|
| 202 |
-
sys.exit(1)
|
| 203 |
-
|
| 204 |
logger.error("邮箱输入框未出现")
|
| 205 |
return False
|
| 206 |
|
|
@@ -323,11 +323,6 @@ def single_registration():
|
|
| 323 |
|
| 324 |
try:
|
| 325 |
driver = webdriver.Chrome(options=chrome_options)
|
| 326 |
-
|
| 327 |
-
# 验证代理是否工作
|
| 328 |
-
driver.get('https://api.ipify.org?format=json')
|
| 329 |
-
logger.info(f"当前IP: {driver.page_source}")
|
| 330 |
-
|
| 331 |
wait = WebDriverWait(driver, 20)
|
| 332 |
success = registration_process(driver, wait)
|
| 333 |
|
|
|
|
| 60 |
return verification_code
|
| 61 |
|
| 62 |
except Exception as e:
|
| 63 |
+
logger.error(f"获取验证码时发生错误: {str(e)}")
|
| 64 |
|
| 65 |
time.sleep(delay)
|
| 66 |
logger.info(f"等待验证码,重试第 {_ + 1} 次")
|
|
|
|
| 125 |
except TimeoutException:
|
| 126 |
return False
|
| 127 |
|
| 128 |
+
def wait_for_email_input(driver, timeout=30):
|
| 129 |
"""等待邮箱输入框出现并返回"""
|
| 130 |
+
global consecutive_failures
|
| 131 |
|
| 132 |
start_time = time.time()
|
| 133 |
while time.time() - start_time < timeout:
|
|
|
|
| 136 |
page_source = driver.page_source
|
| 137 |
logger.info("当前页面源码:")
|
| 138 |
logger.info("=" * 50)
|
| 139 |
+
logger.info(page_source[:500] + "...")
|
| 140 |
logger.info("=" * 50)
|
| 141 |
|
| 142 |
# 获取页面标题
|
|
|
|
| 189 |
except Exception as e:
|
| 190 |
logger.error(f"查找元素时发生错误: {str(e)}")
|
| 191 |
|
| 192 |
+
logger.info("等待10秒后重试...")
|
| 193 |
+
time.sleep(10)
|
| 194 |
|
| 195 |
# 更新失败计数
|
| 196 |
if ENABLE_FAILURE_STOP:
|
|
|
|
| 199 |
if consecutive_failures >= MAX_CONSECUTIVE_FAILURES:
|
| 200 |
logger.critical(f"连续失败达到{MAX_CONSECUTIVE_FAILURES}次,停止脚本运行")
|
| 201 |
import sys
|
| 202 |
+
sys.exit(1)
|
| 203 |
+
|
| 204 |
logger.error("邮箱输入框未出现")
|
| 205 |
return False
|
| 206 |
|
|
|
|
| 323 |
|
| 324 |
try:
|
| 325 |
driver = webdriver.Chrome(options=chrome_options)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 326 |
wait = WebDriverWait(driver, 20)
|
| 327 |
success = registration_process(driver, wait)
|
| 328 |
|