Я использую селен с python для отправки некоторых запросов HEAD через хром. Код выглядит следующим образом:
js = 'var callback = arguments[0];var xmlhttp = new XMLHttpRequest();\
xmlhttp.responseType = "json";xmlhttp.open("HEAD", "' + url.rstrip() + '", true);\
xmlhttp.onreadystatechange= function() {if(xmlhttp.readyState==4) \
{callback(xmlhttp.getAllResponseHeaders());};};xmlhttp.send();'
head = driver.execute_async_script(js)
Учитывая, что CORS не является проблемой (веб-безопасность отключена в Chrome для некоторых экспериментов), если я устанавливаю URL-адрес действительного веб-сайта, он возвращает действительный ответ, поскольку он должен. Если URL-адрес недействителен, хром генерирует это исключение:
HEAD https://www.itdoesnotexist.com/ net::ERR_NAME_NOT_RESOLVED
URL-адрес был установлен на 'https://itdoesnotexist.com', а код JS был запущен непосредственно из консоли браузера для получения этого исключения. Однако Selenium не сообщает об этом исключении, и возвращается пустая строка. Есть ли способ зафиксировать это исключение в селене?