Как обновить firefox опции драйвера в Selenium Python - PullRequest
0 голосов
/ 15 февраля 2020

, поэтому я пытаюсь создать веб-сканер для загрузки материалов в Интернете, и в моем методе класса у меня есть

Class Webcrawler():
    def __init__(self, file):
        self.file = file
        self.folderName = None
        self.directory = 'C:\\Downloads\\'
        self.options = Options()
        self.options.set_preference('browser.download.folderList', 2) 
        self.options.set_preference("browser.download.dir", self.directory + '\\' + self.folderName)
        self.driver = webdriver.Firefox(options=self.options)

И у меня есть функция createDir, которая создает папку, в которую будут загружаться файлы и обновляет self.folderName, но драйвер никогда не обновляет свои параметры вообще. Как я могу заставить его обновить каталог download.dir?

1 Ответ

0 голосов
/ 16 февраля 2020

В качестве альтернативы вы можете использовать следующий блок кода, который будет создавать новую папку при каждом выполнении в соответствии с текущей отметкой времени следующим образом:

Class Webcrawler():
    def __init__(self, file):
    self.directory = 'C:\\Downloads\\'
    self.fmt='{self.directory}%Y-%m-%d-%H-%M-%S'        
    self.options = Options()
    self.options.set_preference('browser.download.folderList', 2) 
    self.options.set_preference("browser.download.dir", os.makedirs(datetime.datetime.now().strftime(self.fmt).format(directory=self.directory)))
    self.driver = webdriver.Firefox(options=self.options)
...