Я использую модуль селена и извлекаю документы с веб-сайта так же, как извлекаю документ из файла Excel с кодами. Когда документы могут быть найдены, он работает отлично, но по какой-то причине alert = driver.switch_to.alert.accept () не принимает предупреждение, когда документ не найден. Обратите внимание, что не будет предупреждения, если документ будет найден. Похоже, это [! [База данных] [1]] [1] [! [Pi c предупреждения] [2]] [2] [! [Таблица Excel] [3]] [3] [! [ учетная запись присутствует] [4]] [4] Я пробовал свой код двумя разными способами, и для первого способа требуется исключение тайм-аута навсегда, есть ли способ сократить время, необходимое для тайм-аута, или как-то принять предупреждение. Другой способ, есть ли способ принять предупреждение? Для справки я использую Python 2.7.16, Selenium 3.12.0, Chromedriver 80.0 и Chrome Версия 80
for handle in driver.window_handles:
if handle != main_window:
select_handle = handle
driver.switch_to.window(select_handle)
try:
try:
alert = driver.switch_to.alert.accept()
except TimeoutException:
pass
print "Report Not Found: " + acct
driver.switch_to.window(select_handle)
driver.close()
driver.switch_to.window(main_window)
except NoAlertPresentException:
driver.switch_to.window(select_handle)
print "Report Found: " + acct
, и это еще одна другая попытка.
for handle in driver.window_handles:
if handle != main_window:
select_handle = handle
driver.switch_to.window(select_handle)
try:
alert1 = WebDriverWait(driver, 5).until(EC.alert_is_present())
alert1 = driver.switch_to.alert
alert1 = Alert(driver)
alert1.accept()
print "Report Not Found: " + acct
driver.switch_to.window(select_handle)
driver.close()
driver.switch_to.window(main_window)
except TimeoutException:
driver.switch_to.window(select_handle)
print "Report Found: " + acct```
Привет, Дипак, я попробовал протестировать твой метод, копирование и вставка комментариев - это хлопотно, и я все еще получаю ту же самую проблему с предупреждением о приеме, и предупреждение просто застревает там. Однако, если документ может быть найден, он отлично работает, даже когда не может.
driver.switch_to_window(driver.window_handles[-1])
title=driver.title
try:
WebDriverWait(driver, 20).until(EC.alert_is_present(),'Timed out
waiting for ' + 'popup to appear.')
alert = driver.switch_to.alert
alert.accept()
print "Report Not Found: " + acct
driver.switch_to.window(select_handle)
driver.close()
driver.switch_to.window(main_window)
except TimeoutException:
driver.switch_to.window(select_handle)
print "Report Found: " + acct"
[1]: https://i.stack.imgur.com/bSWyw.png
[2]: https://i.stack.imgur.com/mSgBs.png
[3]: https://i.stack.imgur.com/r3lYx.png
[4]: https://i.stack.imgur.com/y15k8.png