Ответить на подсказку (); с веб-скребком Python

Я пытаюсь очистить веб-сайт на Python, но выдает ошибку HTTP 401. При доступе к веб-сайту в моем браузере, щелчок по ссылке вызывает всплывающее окно подсказки JavaScript, в котором я должен ввести «ДА», чтобы просмотреть веб-сайт. Как я мог это сделать?

По соображениям конфиденциальности я не могу поделиться ссылкой на сайт.

Ошибка:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files\Python36\lib\urllib\request.py", line 223, in urlopen
  return opener.open(url, data, timeout)
File "C:\Program Files\Python36\lib\urllib\request.py", line 532, in open
  response = meth(req, response)
File "C:\Program Files\Python36\lib\urllib\request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Program Files\Python36\lib\urllib\request.py", line 570, in error
  return self._call_chain(*args)
File "C:\Program Files\Python36\lib\urllib\request.py", line 504, in _call_chain
  result = func(*args)
File "C:\Program Files\Python36\lib\urllib\request.py", line 650, in 
http_error_default
  raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 401: Unauthorized
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
36
1

Ответы 1

Всплывающие окна не очень хорошо документированы, но это должно работать:

alert = driver.switch_to.alert
alert.send_keys('YES')
alert.accept()

Я думаю, что switch_to.alert создает объект Alert, описанный здесь: https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.alert.html#module-selenium.webdriver.common.alert

Вы заявляете, что всплывающие окна не очень хорошо документированы, но затем вы предоставляете ссылку, в которой есть документация для каждой из ваших строк кода ...

JeffC 10.01.2019 20:53

@JeffC эта ссылка не объясняет первую строку, которая, возможно, является самой важной строкой. Я не знаю ни одного документа по Selenium, который объясняет, как переключение на предупреждение И что-то делать с этим предупреждением. Вы получаете только одно или другое, обычно без упоминания о том, где найти другой. Даже в учебнике по Selenium https://selenium-python.readthedocs.io/, в котором есть примеры для многих распространенных сценариев, есть пример, связанный с предупреждениями, который просто переключается на предупреждение, но после этого ничего не делает.

mblakesley 10.01.2019 22:48

Другие вопросы по теме