优化等待设置,支持长时间验证过程
改进: - 页面加载等待时间上限提高到 60秒 - 添加等待 networkidle 状态逻辑 - 前端界面增加等待设置说明 - 提示用户针对验证网站设置 10-30秒等待 使用场景: - Cloudflare 等验证网站 - 复杂加载过程网站 - 需要用户确认的页面
This commit is contained in:
16
app.py
16
app.py
@@ -318,13 +318,25 @@ async def capture_with_playwright(
|
||||
await stealth_async(page)
|
||||
|
||||
try:
|
||||
await page.goto(url, wait_until="networkidle", timeout=30000)
|
||||
except:
|
||||
await page.goto(url, wait_until="domcontentloaded", timeout=30000)
|
||||
except Exception as e:
|
||||
# 如果 domcontentloaded 超时,尝试 commit
|
||||
try:
|
||||
await page.goto(url, wait_until="commit", timeout=30000)
|
||||
except:
|
||||
pass
|
||||
|
||||
# 固定等待时间(用于验证、加载等过程)
|
||||
if wait_time > 0:
|
||||
await page.wait_for_timeout(wait_time)
|
||||
|
||||
# 等待页面基本稳定
|
||||
try:
|
||||
await page.wait_for_load_state("networkidle", timeout=5000)
|
||||
except:
|
||||
# networkidle 超时没关系,继续执行
|
||||
pass
|
||||
|
||||
if scroll_times > 0:
|
||||
for i in range(scroll_times):
|
||||
await page.evaluate("window.scrollBy(0, 800)")
|
||||
|
||||
Reference in New Issue
Block a user