Я использую веб-редактор Selenium (на Python) для автоматизации загрузки тысяч файлов. Я хочу, чтобы файлы сохранялись в разных папках. Следующий код работает, но он требует отказа от курения и повторного запуска WebDriver несколько раз, что замедляет процесс:несколько папок загрузки с использованием Selenium Webdriver?
some_list = ["item1", "item2", "item3"] # over 300 items on the actual code
for item in some_list:
download_folder = "/Users/myusername/Desktop/" + item
os.makedirs(download_folder)
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference("browser.download.dir", download_folder)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/plain")
browser = webdriver.Firefox(firefox_profile = fp)
# a bunch of code that accesses the site and downloads the files
browser.close()
browser.quit()
Таким образом, на каждой итерации я должен выйти из WebDriver и повторно запустить его, который довольно неэффективно. Есть лучший способ сделать это? По-видимому, мы не можем изменить профиль Firefox после создания webdriver (см. this и this предыдущих вопросов), но, возможно, есть какая-то альтернатива, которой я не хватает?
(Mac OS X 10.6.8, Python 2.7.5, 2.2.0 Селен)
Будет ли это работать, чтобы перемещать файлы с использованием простой старой Java? –
Хмм, я не пробовал - я новичок в программировании, и я знаю только Python. – Parzival