0

Selenium webdriver (Python) を使用して、何千ものファイルのダウンロードを自動化しています。ファイルを別のフォルダに保存したい。次のコードは機能しますが、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 を終了して再起動する必要がありますが、これはかなり非効率的です。これを行うより良い方法はありますか?どうやら、webdriver がインスタンス化された後に Firefox プロファイルを変更することはできません (これこの前の質問を参照してください)。

(Mac OS X 10.6.8、Python 2.7.5、Selenium 2.2.0)

4

1 に答える 1