chrome为什么可以存储此会话数据,但Firefox无法存储?

问题描述

因此,我想存储Whatsapp Web会话,以便不必每次都扫描Whatsapp Web的QR码。我是用以下代码完成的:

options = webdriver.ChromeOptions()
options.add_argument("--user-data-dir=C:/Users/Pascal/AppData/Local/Google/Chrome/User Data")
browser = webdriver.Chrome(executable_path="C:/Users/Pascal/Desktop/chromedriver.exe",options = options)
browser.get("https://web.whatsapp.com/")

上面的代码运行良好(Chromebrowser),但是下面几乎相同的代码却不起作用:

options = webdriver.FirefoxOptions()
options.add_argument("--user-data-dir=C:/Users/Pascal/AppData/Roaming/Mozilla/Firefox/Profiles/iddwgmst.default-release")
browser = webdriver.Firefox(executable_path="C:/Users/Pascal/Desktop/geckodriver.exe",options = options)
browser.get("https://web.whatsapp.com/")

为什么它不能与Firefox一起使用?每次都会出现QR码,但是我已将firefox配置文件加载到浏览器/驱动程序,因此firefox似乎不存储whatsapp网站数据...但是,如果我在普通的firefox浏览器中进入whatsapp网站,再次存储数据,而不必重新扫描...我对此问题感到困惑。

我真的希望它与firefox一起工作,因为chromedriver不支持emojis:/

有什么想法吗?

解决方法

我解决了。 对于Firefox,它适用于:

profile = webdriver.firefox.firefox_profile.FirefoxProfile("C:/Users/Pascal/AppData/Roaming/Mozilla/Firefox/Profiles/iddwgmst.default-release")
        self.browser = webdriver.Firefox(executable_path = os.path.dirname(os.path.realpath(__file__)) + "\\geckodriver.exe",firefox_profile = profile)
        self.browser.get("https://web.whatsapp.com/")

但是对于chrome,它可以使用:

options = webdriver.ChromeOptions()
        options.add_argument("--user-data-dir=C:/Users/Pascal/AppData/Local/Google/Chrome/User Data")
        self.browser = webdriver.Chrome(executable_path = os.path.dirname(os.path.realpath(__file__)) + "\\chromedriver.exe",options = options)
        self.browser.get("https://web.whatsapp.com/")

在这里,geckodriver和chromedriver与main.py位于同一文件夹中。