简体   繁体   English

如何在 Selenium Python 中更新 firefox 驱动程序选项

[英]How to update firefox driver options in Selenium Python

so I'm trying to make a web crawler to download stuff online and in my class method i have所以我正在尝试制作一个网络爬虫来在线下载东西,在我的课堂方法中我有

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)

And I have a createDir function, which creates the folder where the files will be downloaded and updates self.folderName, but the driver never seems to update its options at all.我有一个 createDir 函数,它创建文件将被下载的文件夹并更新 self.folderName,但驱动程序似乎从来没有更新它的选项。 How can I force it to update download.dir directory?如何强制它更新 download.dir 目录?

As and alternative you can use the following code block which will create a new folder on each execution as per the current timestamp as follows:作为替代,您可以使用以下代码块,它将根据当前时间戳在每次执行时创建一个新文件夹,如下所示:

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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM