Error ssl client socket impl cc

Error ssl client socket impl cc

Программа работает правильно, в цикле (раз в минуту) обновляет и опрашивает значение одного из элементов заданной страницы, даёт верное текущее значение, пишет в файл и т.д. А в терминале каждый раз выбивает такое сообщение:

              Python:              

              ERROR:ssl_client_socket_impl.cc(960)] handshake failed; returned -1, SSL error code 1,                             net_error -101

Что это может означать? Нужно ли в принципе с этим бороться? Программа работает, если по результату, нормально.

Ответ

Проблемы с сертификатом у сайта с которого вы берете данные.

Чтобы ошибка не появлялась можно попробовать добавить опцию ‘–ignore-certificate-errors’.

Вот пример:

              Python:

              from selenium import webdriver

              from selenium.webdriver.chrome.options import Options

              options = Options()

              options.add_argument(‘–ignore-certificate-errors’)

              driver = webdriver.Chrome(options=options)

Адаптировал в свой текст и — завелась. Терминал чист. Спс!

Selenium ssl_client_socket_impl.cc handshake failed

Я получаю эту ошибку во время тестирования с помощью Selenium

              [18912:1216:0116/175151.966:ERROR:ssl_client_socket_impl.cc(960)] handshake failed;               returned -1, SSL error code 1, net_error -101

Мой текущий код

              settings = {

                               ‘proxy’:{

                                            ‘https’:’https://’ + proxy

                              }

                 }

              options = webdriver.ChromeOptions()

              options.add_argument(‘–ignore-certificate-errors-spki-list’)

              options.add_argument(‘–ignore-ssl-errors’)

              self.driver = webdriver.Chrome(seleniumwire_options=settings, chrome_options=options)

Есть ли какой-либо другой способ игнорировать / устранить эту ошибку?

Ответ

В соответствии со списком переключателей командной строки для Chromium (который подходит для вашего случая) вам необходимо использовать –ignore-certificate-errors-spki-listв качестве аргумента параметра webdriver.

Ваш фрагмент кода options.add_argument(‘–ignore-certificate-errors-spki-list’)реализует это правильно (см. , соответственно, кодовую базу Chromium для kIgnoreCertificateErrorsSPKIList[]). На небольшой не по теме заметке –ignore-certificate-errors(как предлагается в различных вопросах StackOverflow) устарел.

Во всяком случае, вообще говоря, ваше сообщение об ошибке выводит, что квитирование между вашим Selenium ChromeDriver и браузером Chrome не удалось на пути выполнения. Если мы посмотримssl_client_socket_impl.cc, мы увидим SSLClientSocketImpl::DoHandshake()(что вызывает вашу ошибку).

К сожалению, вы не можете исправить эту ошибку! К счастью, ошибка не приведет к прерыванию вашей программы вообще. Если вас беспокоят только сами сообщения, не стесняйтесь сжимать все предупреждающие сообщения через options.add_argument(‘log-level=INT’), тогда INTкак это может быть один из документированных уровней журнала

Таким образом, вы можете использовать options.add_argument(‘log-level=3’)для подавления всех видов информации, предупреждений, ошибок или фатальных сообщений (возможно, рекомендуется использовать только уровень 2 для ошибок). Пожалуйста, имейте в виду, что вы не увидите никаких других сообщений, связанных с ошибками, которые могут привести к сбоям в работе!

Наталья Петрова
Оцените автора
Новости города Салавата
Добавить комментарий

Adblock
detector