#excel #selenium #selenium-chromedriver
Вопрос:
Есть ли какой-либо способ изменить путь к папке загрузки chrome, не закрывая chrome?
Dim bot As New ChromeDriver bot.SetPreference "download.default_directory", "c:temp" bot.SetPreference "download.directory_upgrade", True bot.SetPreference "download.prompt_for_download", False bot.Get "http://google.com" bot.Quit
Комментарии:
1. Эта линия
bot.SetPreference "download.default_directory", "c:temp"
должна выполнять свою работу. С какой ошибкой вы столкнулись?2.Привет, @NandanA Я пытался сделать, как показано ниже
Dim bot As New ChromeDriver
Dim j As Long
lastrow = Worksheets("sheet1").Cells(Rows.Count, "A").End(xlUp).Row
, Для J = 2, чтобы продолжитьbot.SetPreference "download.default_directory", "c:temp"
bot.SetPreference "download.directory_upgrade", True
bot.SetPreference "download.prompt_for_download", False
bot.Get "http://google.com"
bot.getelement to download
Следующий JEnd Sub
в следующем j путь chrome должен измениться, но он не менялся
Ответ №1:
Я предполагаю, что вы немного запутались в расположении папки загрузки браузера Chrome и месте загрузки драйвера Chrome.
Браузер Chrome:
- У вас на компьютере есть браузер Chrome, и, допустим, его папка загрузки находится в
C:/Download/
- Если вы запустите сценарий selenium для загрузки какого-либо файла по умолчанию, драйвер chrome будет использовать местоположение загрузки в качестве
C:/Download/
Драйвер Chrome:
- В своем коде вы изменили расположение по умолчанию с
C:/Download/
наC:/Custom/
, используяdownload.default_directory
предпочтения, после чего файлы будут загружены в новое расположение. - Изменение местоположения загружаемого файла применимо только для драйвера chrome, но не для браузера chrome. Местоположение вашего браузера chrome по умолчанию остается таким же
C:/Download/
В приведенном ниже примере я загрузил файл, изменив расположение папки загрузки.
Код:
Dim bot As New ChromeDriver bot.SetPreference "download.default_directory", "C:UsersNandanDesktop" bot.SetPreference "download.directory_upgrade", True bot.SetPreference "download.prompt_for_download", False bot.Get "https://www.hkex.com.hk/Market-Data/Securities-Prices/Equities/Equities-Quote?sym=700amp;sc_lang=en" bot.FindElementByLinkText("Export to Excel").Click bot.Timeouts.Server = 5000 End Sub
Выход:
Комментарии:
1. Я думаю, что вопрос ОП заключался в том, как измениться
c:temp
во время выполнения.2. @DebanjanB Спасибо за ваш ответ. Разве изменение предпочтения местоположения загрузки перед запуском драйвера не называется временем выполнения?
3. перед запуском -gt; Время компиляции (возможно), gt; во время выполнения программы -gt; Время выполнения (невозможно), так как настройки уже заданы в настройках профиля.
4. Спасибо, но, насколько мне известно, нет способа изменить настройки драйвера во время выполнения.
5. Да, вы правы !!!