0

所以我想存储一个 Whatsapp Web 会话,以便不必每次都扫描 Whatsapp Web 的二维码。我用下面的代码做到了:

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 不支持表情符号:/

有任何想法吗?

4

1 回答 1

0

我解决了。对于 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 位于同一文件夹中

于 2020-10-17T00:29:31.193 回答