带有Cookie的Python Selenium Firefox私人浏览

时间:2019-04-15 07:36:44

标签: python selenium firefox selenium-webdriver cookies

我需要使用Firefox和Python通过Webdriver添加cookie。它可以在普通模式下工作,但不能在private模式下工作。

from selenium import webdriver
capabities = webdriver.DesiredCapabilities.FIREFOX
capabities.update({"javascriptEnabled":True})
firefoxProfile = FirefoxProfile()
firefoxProfile.set_preference("browser.privatebrowsing.autostart", True)
driver = webdriver.Firefox(desired_capabilities=capabities, firefox_profile=firefoxProfile)
driver.get("http://httpbin.org/cookies")
driver.add_cookie({"name":"drag", "value": "lol", "domain": "httpbin.org"})
driver.get("http://httpbin.org/cookies")

无论我刷新驱动程序多少次,都不会加载Cookie。控制台日志中的document.cookie中没有任何内容。它在Chrome(未经隐身测试)和Firefox(非私有)中都可以正常工作。

我知道在硒私有模式下是多余的,并且我已经读过this SO questionthis

但是我不能更改很多代码。即使在Firefox的私有模式下,我也需要此功能来设置cookie。

  

Firefox 66.0.1

     

Geckodriver 0.23.0(2018-10-04)

     

Python硒3.14.1

编辑1

我已经用chrome(incognito)进行了测试,并且看起来可行

from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--incognito")
capabities = webdriver.DesiredCapabilities.CHROME
capabities.update({"javascriptEnabled":True})
driver = webdriver.Chrome(desired_capabilities=capabities, chrome_options=chrome_options)
driver.get("http://httpbin.org/cookies")
driver.add_cookie({"name":"drag", "value": "lol", "domain": "httpbin.org"})
driver.refresh()
driver.get_cookies()
  

Chromium 73.0.3683.75建立在Ubuntu上,在Ubuntu 18.04上运行

     

ChromeDriver 2.43.600233(523efee95e3d68b8719b3a1c83051aa63aa6b10d)

     

Python硒3.14.1

我还可以在this answer中找到有关firefox的问题,但完全没有道理。那里使用的firefox版本也很旧,因此当前版本可能会有一些更改。

0 个答案:

没有答案