我在java脚本和python中找到了关于如何使用chrome驱动程序在无头模式下下载文件的代码片段。但是,我不确定如何复制使用VBA运行的代码行(特别是使用excel )。
以下是我发现的不起作用的设置
driver.SetPreference "download.prompt_for_download", False
driver.SetPreference "download.directory_upgrade", True
driver.SetPreference "download.default_directory", FLDR_NAME
driver.SetPreference "safebrowsing.enabled", False
driver.SetPreference "download.prompt_for_download", False
driver.SetPreference "download.setdownloadbehaviour", "allow"
driver.SetPreference "safebrowsing.disable_download_protection", True
This was an attempt at copying the javascript version of downloading in headless mode below
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option("prefs", {
"download.default_directory": "/path/to/download/dir",
"download.prompt_for_download": False,
})
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.command_executor._commands["send_command"] = ("POST", '/session/$sessionId/chromium/send_command')
params = {'cmd': 'Page.setDownloadBehavior', 'params': {'behavior': 'allow', 'downloadPath': "/path/to/download/dir"}}
command_result = driver.execute("send_command", params)
这就是我的基本代码的样子:
Dim bot As New ChromeDriver, post As Object
With bot
.Timeouts.ImplicitWait = 1000
.AddArgument "--headless"
.Start
.get "http://"
当我的自动化在无头模式下运行时,就会到达下载的地步。它成功地单击了下载链接,但是下载没有开始。没有错误,屏幕截图显示没有发生任何其他事情。当我在没有无头模式的情况下运行完全相同的代码时,它工作得非常完美。
发布于 2022-03-03 21:58:11
Dim bot As New ChromeDriver, post As Object
With bot
.SetPreference "download.default_directory", ThisWorkbook.Path & "\"
.Timeouts.ImplicitWait = 1000
.AddArgument "--headless"
.Start
.get "http://"
end with
https://stackoverflow.com/questions/71343970
复制相似问题