问题描述
因此,我想存储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位于同一文件夹中。