Python Selenium Firefox приватный просмотр с cookie - PullRequest
3 голосов
/ 15 апреля 2019

Мне нужно добавить куки через Webdriver, используя Firefox с Python. Он работает в обычном режиме, но не в режиме 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")

Независимо от того, сколько раз я обновляю драйвер, куки не загружаются. В журнале консоли ничего нет в document.cookie. Он отлично работает в Chrome (не тестировался в режиме инкогнито) и Firefox (не приватно)

Я знаю, что в частном режиме селен избыточен, и я прочитал этот вопрос , а также этот .

Но я не могу изменить большую часть кода. Мне нужна эта функция, чтобы устанавливать cookie даже в приватном режиме в Firefox.

Firefox 66.0.1

Geckodriver 0.23.0 (2018-10-04)

Питон селен 3.14.1

Редактировать 1

Я тестировал с хромом (инкогнито) и, кажется, работает

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)

Питон селен 3.14.1

Я также мог бы найти некоторые проблемы с firefox в этом ответе , но не мог понять его смысл. Используемая там версия firefox также старая, поэтому в текущей версии могут быть некоторые изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...