【发布时间】:2026-01-14 19:00:02
【问题描述】:
我正在尝试使用selenium 从FanGraphs Leaderboards 下载一些数据。我正在使用 Firefox 这样做,但 Chrome 有点快,所以我试图切换到它。使用 Firefox,可以找到下载文件,但我在切换到 Chrome 时遇到了问题。
设置 Chrome
chrome_options = webdriver.ChromeOptions()
chrome_options.headless = False
os.makedirs("dist", exist_ok=True)
preferences = {
"profile.default_content_settings.popups": 0,
"download.default_directory": "dist/",
"directory_upgrade": True
}
chrome_options.add_experimental_option(
"prefs", preferences
)
self.browser = webdriver.Chrome(
chrome_options=chrome_options
)
导出数据
while True:
try:
WebDriverWait(self.browser, 20).until(
expected_conditions.element_to_be_clickable(
(By.ID, "LeaderBoard1_cmdCSV")
)
).click()
break
except exceptions.ElementClickInterceptedException:
self.__close_ad()
当我为我的模块运行测试时,CSV 文件最终位于 C:/Users/UserDir/Downloads 中,而不是我的 dist/ 文件夹中当前工作目录。我仔细检查了 dist/ 文件夹是否存在,确实存在。
规格
- Python v3.9
-
seleniumv3.141.0 - Chromedriver v89.0.4389.23
- 谷歌浏览器 v88.0.4324.190
【问题讨论】:
标签: python python-3.x selenium selenium-chromedriver