Я не могу точно понять, что делает ваш код, потому что у меня нет контекста для страницы, которую вы автоматизируете, но я могу предоставить общую структуру того, как вы могли бы выполнить что-то подобное. Вот упрощенная версия того, как я справлюсь с вашим сценарием:
# iterate URL list
for url in url_list:
# navigate to a URL
driver.get(url)
# check something here to test if a link is 'broken' or not
try:
driver.find_element(someLocator)
# if link is broken, go back
except TimeoutException:
driver.back()
# continue so we can return to beginning of loop
continue
# if you reach this point, the link is valid, and you can 'do stuff' on the page
Этот код переходит к URL-адресу и выполняет некоторую проверку (которую вы укажете), чтобы определить, является ли ссылка «битой» или нет. Мы проверяем наличие неработающей ссылки, перехватывая TimeoutException
, которое было брошено. Если выдается исключение, мы переходим на предыдущую страницу, затем вызываем continue
, чтобы вернуться к началу цикла, и начинаем заново со следующего URL.
Если мы сделаем это через try
/ except
блок, тогда URL действителен и мы на правильной странице. В этом месте вы можете написать свой код, чтобы почистить статьи или все, что вам нужно сделать.
Код, который появляется после try
/ except
, будет срабатывать ТОЛЬКО, если TimeoutException
НЕ встречается -- означает, что URL действителен.