Код не всегда проходит мимо driver.get(…) с использованием chromedriver с Selenium для Python
У меня есть программа на Python, которая очищает https://performance.morningstar.com/fund/tax-analysis.action?t=AGRYX®ion=usa&culture=en-US. Он работает большую часть времени, но, возможно, примерно в 1/3 случаев выполнение моего кода не выполняется.
driver.get('https://performance.morningstar.com/fund/tax-analysis.action?t=' + ws.cell(i,2).value + '®ion=usa&culture=en-US')
где
ws.cell(i,2).value
- это просто тикер внутри электронной таблицы Excel.
Ошибка не возникает. Эту черту просто не пройти. Браузер полностью загружает страницу, которую я хочу, дальше ничего не происходит (опять же, ошибки не возникает).
Я добавил эти варианты в надежде на лучшее
options = webdriver.ChromeOptions()
options.add_argument('--disable-software-rasterizer')
options.add_argument('--ignore-certificate-errors')
options.add_argument('--ignore-ssl-errors')
options.add_argument('--ignore-certificate-errors-spki-list')
options.add_argument('--disable-gpu')
options.add_argument('--allow-running-insecure-content')
driver=webdriver.Chrome(r"C:\path\to\my\chromedriver\chromedriver.exe", chrome_options=options)
Я не знаю, имеет ли это значение, но я вижу предупреждение в адресной строке, в котором говорится, что веб-сайт "! Небезопасен", что кажется мне странным, потому что я бы хотел, чтобы Morningstar пошла на все, чтобы убедиться, что они предоставляли безопасный контент. На всякий случай я установил параметры Chrome для приема небезопасного контента для этого сайта, но это не имело значения.
Как я могу продолжить выполнение кода за пределами этой строки? Этот вопрос похож на мой, но поскольку ошибка не возникает, данный ответ мне не подходит.