Как я могу установить файл cookie с помощью Selenium на сайте ПЕРЕД доступом к нему?Python

Программы на Python
Ответить
Anonymous
 Как я могу установить файл cookie с помощью Selenium на сайте ПЕРЕД доступом к нему?

Сообщение Anonymous »

Когда я пытаюсь получить доступ к нашей тестовой среде ЛОКАЛЬНО (https://www.test.net), мы немедленно перенаправляемся на Google SSO.
Как мы можем установить файл cookie для сайт ДО доступа к нему?
Изображение
< /p>
Я читал https://www.selenium.dev/documentation/ ... s/cookies/, что мы должны находиться на странице (загруженной), прежде чем мы сможем установить файл cookie.
Я попробовал следующее, но не может пройти:
Пробная версия ## (Получается сообщение: неверный домен cookie: несоответствие домена cookie, поскольку оно перенаправляется на Google SSO):

Код: Выделить всё

def get_url(self, url):
if os.getenv('GITHUB_ACTIONS', 'false').lower() == 'true':
return
else:
self.driver.get('https:test.net/')
time.sleep(3)
cookie = {
'name': '_oauth2_proxy_qs_staging',
'value': self.cookie,
'domain': 'test.net'
}
self.driver.add_cookie(cookie)
self.driver.refresh()
self.driver.get('https:test.net/')
time.sleep(3)
Другие пробные версии 1 (остается в Google SSO):

Код: Выделить всё

def get_url(self, url):
if os.getenv('GITHUB_ACTIONS', 'false').lower() == 'true':
return
else:
self.driver.get('https:test.net/')
time.sleep(3)
cookie = {
'name': '_oauth2_proxy_qs_staging',
'value': self.cookie,
}
self.driver.add_cookie(cookie)
self.driver.refresh()
self.driver.get('https:test.net/')
time.sleep(3)
Другие испытания №2 (

Код: Выделить всё

Getting selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cookie domain
, даже если мы сохраним «домен», та же ошибка, поскольку он перенаправляется в Google SSO)

Код: Выделить всё

def get_url(self, url):
if os.getenv('GITHUB_ACTIONS', 'false').lower() == 'true':
return
else:
self.driver.get('about:blank')
time.sleep(3)
cookie = {
'name': '_oauth2_proxy_qs_staging',
'value': self.cookie,
'domain': 'test.net'
}
self.driver.add_cookie(cookie)
self.driver.refresh()
self.driver.get('https:test.net/')
time.sleep(3)
Другие пробные версии №3 (работают, НО РЕШЕНИЕ НЕ БЫЛО ПРИНЯТО ИЗ-ЗА ЗАВИСИМОСТИ САЙТА, ​​это работает, потому что поддомен test.net был загружен до того, как мы смогли установить файл cookie)

Код: Выделить всё

def get_url(self, url):

# THIS IS NOT AN ACCEPTED SOLUTION

if os.getenv('GITHUB_ACTIONS', 'false').lower() == 'true':
return
else:
self.driver.get('https:test.test.net/')
time.sleep(3)
cookie = {
'name': '_oauth2_proxy_qs_staging',
'value': self.cookie,
'domain': 'test.net'
}
self.driver.add_cookie(cookie)
self.driver.refresh()
self.driver.get('https:test.net/')
time.sleep(3)
Есть ли в этом случае другой способ, кроме использования VPN? Поскольку это проблема только тогда, когда мы запускаем локально. В Github Actions у нас есть собственный исполнитель, который не требует единого входа Google.

Подробнее здесь: https://stackoverflow.com/questions/793 ... cessing-it
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»