Files
tb_pl/jd/test_browser.py
2026-04-26 13:39:19 +08:00

92 lines
2.8 KiB
Python

"""测试浏览器是否能正常启动"""
import time
from DrissionPage import ChromiumPage, ChromiumOptions
CHROME_PATH = r'C:\Program Files\Google\Chrome\Application\chrome.exe'
print("="*60)
print("浏览器启动测试")
print("="*60)
# 检查 Chrome 路径
import os
if not os.path.exists(CHROME_PATH):
print(f"❌ 错误: 找不到 Chrome 浏览器")
print(f"路径: {CHROME_PATH}")
print("\n请检查:")
print("1. Chrome 是否已安装")
print("2. Chrome 的安装路径是否正确")
print("3. 如果 Chrome 安装在别的路径,请修改 CHROME_PATH 变量")
exit(1)
else:
print(f"✅ Chrome 路径检查通过: {CHROME_PATH}")
# 配置浏览器选项
print("\n正在配置浏览器选项...")
options = ChromiumOptions()
options.set_browser_path(CHROME_PATH)
# 尝试启动浏览器
print("正在启动浏览器...")
print("如果浏览器没有自动打开,可能会有以下原因:")
print("1. Chrome 浏览器正在被其他程序使用")
print("2. ChromeDriver 版本不匹配")
print("3. 防火墙或安全软件阻止")
print("\n请等待 10 秒...\n")
try:
page = ChromiumPage(options)
print("✅ 浏览器启动成功!")
# 测试打开一个简单的页面
print("\n正在打开测试页面: https://www.baidu.com")
page.get('https://www.baidu.com')
time.sleep(3)
# 检查页面信息
try:
print(f"当前 URL: {page.url}")
print(f"页面标题: {page.title}")
html_len = len(page.html)
print(f"页面 HTML 长度: {html_len} 字符")
if html_len > 1000:
print("\n✅ 测试成功!浏览器正常工作。")
print("\n现在可以运行 fetch_logistics.py 了。")
else:
print("\n⚠️ 警告: 页面内容可能未完全加载")
except Exception as e:
print(f"\n⚠️ 获取页面信息时出错: {e}")
print("\n浏览器将保持打开状态 30 秒,请查看是否能看到浏览器窗口...")
print("如果能看到浏览器窗口,说明启动成功。")
time.sleep(30)
# 询问是否关闭
print("\n测试完成。浏览器将保持打开状态。")
print("您可以手动关闭浏览器窗口,或者按 Ctrl+C 退出程序。")
# 不自动关闭,让用户查看
try:
input("\n按 Enter 键关闭浏览器并退出...")
except:
pass
except Exception as e:
print(f"\n❌ 浏览器启动失败!")
print(f"错误信息: {e}")
print("\n可能的解决方案:")
print("1. 检查 Chrome 是否正确安装")
print("2. 尝试关闭所有 Chrome 窗口后重试")
print("3. 检查是否有权限问题")
print("4. 查看是否有错误日志")
import traceback
traceback.print_exc()
finally:
try:
page.quit()
print("浏览器已关闭")
except:
pass