You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium启动Chrome需先手动运行?Amtrak自动化异常求助

Selenium启动全新Chrome访问Amtrak官网报错的问题

在Crostini/Linux环境下使用Selenium+Chrome访问Amtrak官网(https://www.amtrak.com/tickets/departure.html)查询票价时,手动启动Chrome操作完全正常,但Selenium启动的全新Chrome实例会抛出“unknown error”。调试后确认,错误根源是页面JavaScript解析sessionStorage时,找不到预期的JSON数据。

测试复现步骤

  1. 手动启动Chrome,访问https://www.amtrak.com/tickets/departure.html
  2. 点击“New Search”
  3. 出发地输入“PDX”
  4. 目的地输入“JAX”
  5. 选择出发日期:4/2/23
  6. 其余选项保持默认
  7. 点击“FIND TRAINS”

错误场景:使用全新用户数据目录

直接用以下代码启动全新Chrome实例,手动执行上述查询步骤会报错:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_experimental_option("detach", True)
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://amtrak.com/tickets/departure.html")

这种方式会自动生成随机的全新用户数据目录,导致查询失败。

可行场景:复用预配置的用户目录

先手动完成以下操作:

  • 运行命令:chrome --user-data-dir=/home/robinson/.config/google-chrome --profile-directory=selenium,进入访客模式完成一次查询;
  • 再用相同参数通过Selenium启动Chrome,代码如下:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_experimental_option("detach", True)
chrome_options.add_argument("user-data-dir=/home/robinson/.config/google-chrome")
chrome_options.add_argument('--profile-directory=selenium')
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://amtrak.com/tickets/departure.html")

此时查询可正常运行。

疑问

已尝试--incognito、--enable-javascript等参数,均无法解决问题。想知道:

  1. 为什么全新用户数据目录下无法正常运行?
  2. 是否有对应的Selenium参数可以直接解决该问题,无需提前手动配置用户目录?

内容的提问来源于stack exchange,提问作者David Robinson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 00:09:23