Как установить папку загрузки для Edge в Selenium?

Я пишу автоматизированные тесты с использованием Selenium. Я хочу установить каталог загрузки в Edge, чтобы я мог загружать файлы как часть моего теста. Существует объект EdgeOptions, который я могу предоставить при создании EdgeDriver, но я не знаю, что установить в EdgeOptions.

Я знаю, как это сделать в Chrome

chromeOptions.AddUserProfilePreference("download.default_directory", @"C:\temp")

и Firefox

firefoxOptions.SetPreference("browser.download.dir", @"C:\temp")

Но как мне сделать то же самое в Edge? И заставить его загружаться автоматически без сохранения?

2 ответа

Вы можете сделать это для Edge следующим образом:

Как уже упоминалось @Prany, вероятно, нет способа установить загрузку автоматически. И если я правильно понял, вы хотите работать с родным окном диалога, когда вы нажимаете кнопку загрузки. Selenium не может взаимодействовать с собственными окнами, но вы можете использовать эту платформу. Пример кода будет выглядеть так:

// Press the A Key Down
KeyboardSimulator.KeyDown(Keys.A);

// Let the A Key back up
KeyboardSimulator.KeyUp(Keys.A);

// Press A down, and let up (same as two above)
KeyboardSimulator.KeyPress(Keys.A);

// Simulate (Ctrl + C) shortcut, which is copy for most applications
KeyboardSimulator.SimulateStandardShortcut(StandardShortcut.Copy);

// This does the same as above
KeyboardSimulator.KeyDown(Keys.Control);
KeyboardSimulator.KeyPress(Keys.C);
KeyboardSimulator.KeyUp(Keys.Control);

Так что вы можете моделировать Ctrl + V действие клавиатуры и Enter действие. Надеюсь, поможет.

Другие вопросы по тегам