允许facebook cookie在硒中跟踪我的多个会话



我正在使用硒来收集数据,这是一项学术研究,将测试facebook和网络上的某些用户行为将如何影响他们看到的广告。

为此,我需要有一种假用户,它将首先与脸书互动,然后访问一些带有脸书cookie的网站,允许脸书继续跟踪其行为,然后返回脸书。

我没有做太多的网络开发,似乎我对如何在这种情况下保存和加载cookie感到困惑。

我一直在尝试使用以下代码片段保存和加载烹饪:

# saving
pickle.dump(driver.get_cookies(), cookiesfile)
# loading
cookies = pickle.load(cookiesfile)
for cookie in cookies:
driver.add_cookie(cookie)

在facebook上,这将创建一个错误消息弹出窗口,告诉我重新加载,或者将我重定向到登录页面。在其他网站上,即使是那些明确表示自己有facebook跟踪器的网站,这也会导致InvalidCookieDomainException

我做错了什么?

与其自己处理cookie,我建议使用ChromeOptions来保持浏览器会话。这可能更有助于维护本地存储和其他cookie。

下次打开浏览器会话时,chrome实例将加载以前的">配置文件";并将继续维护它

options = webdriver.ChromeOptions()
options.add_argument('user-data-dir={}'.format(<path_to_a_folder_reserved_for_browser_data>))
driver = webdriver.Chrome(executable_path=<chromedriver_exe_path>, options=options)

最新更新