【问题标题】:Download file to default location selenium python将文件下载到默认位置 selenium python
【发布时间】:2021-09-07 21:12:08
【问题描述】:

我正在尝试以下几行

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

opt = Options()

opt.headless = True
opt.add_experimental_option ("debuggerAddress", "localhost:9090")
opt.add_argument("download.default_directory=C:/Users/Future/Desktop")
driver = webdriver.Chrome(executable_path="D:/Webdrivers/chromedriver.exe", options=opt)
driver.switch_to.window(driver.window_handles[0])

虽然我尝试在代码中更改默认文件夹的路径,但文件已下载但在 Downloads 文件夹中。

代码设计为在已经打开的浏览器上运行。有什么想法吗?

【问题讨论】:

标签: python selenium


【解决方案1】:

相信你在找.add_experimental_option(...

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

opt = Options()
opt.add_experimental_option("prefs", {
  "download.default_directory": r"C:/Users/Future/Desktop",
  "download.prompt_for_download": False,
  "download.directory_upgrade": True,
  "safebrowsing_for_trusted_sources_enabled": False,
  "safebrowsing.enabled": False
})

driver = webdriver.Chrome(executable_path=r'D:/Webdrivers/chromedriver.exe', options=opt)
url = 'https://stackoverflow.com/questions/68114651/download-file-to-default-location-selenium-python/68115019#68115019'

# Load URL
driver.get(url)

【讨论】:

  • 非常感谢。我尝试了代码,我得到了InvalidArgumentException: Message: invalid argument: cannot parse capability: goog:chromeOptions from invalid argument: unrecognized chrome option: prefs
  • @YasserKhalil 我更新了答案以打开此问题的网页并加载了选项。如果这对您不起作用,您运行的是哪个版本的 Python 和 Chrome?
  • 非常感谢。事实上,我正在使用这种方法在一个开放的浏览器上工作:使用 cmd 我输入 cd C:\Program Files\Google\Chrome\Application 然后 chrome.exe --remote-debugging-port=9090 --user-data-dir="D:\Webdrivers\MyProfile" 然后导航到需要手动凭据的 url,最后,我运行 python 代码开始下载过程。希望这些信息对您有所帮助。
  • @YasserKhalil 当您导航到该 url 时,您是否要去http://localhost:9090?这是我卡住的部分。
  • 这是作为 selenium 代码工作的端口,以便在该 chrome 实例上工作。我正在使用该实例导航到我的网站并手动执行一些步骤,然后最终运行代码。
猜你喜欢
  • 2014-10-04
  • 1970-01-01
  • 1970-01-01
  • 2020-12-29
  • 1970-01-01
  • 2022-11-11
  • 1970-01-01
  • 2020-01-28
相关资源
最近更新 更多