Что происходит с информацией, когда цикл while неожиданно прерывается? - PullRequest
0 голосов
/ 30 апреля 2018
i = 0

while True:
    try:
        driver.find_element_by_link_text('Next').click()
    except NoSuchElementException:
        break
    time.sleep(5)
    soup = BeautifulSoup(driver.page_source, 'html.parser')
    i+=1
    time.sleep(5)

Итак, скажем, при разборе, скажем, 20 страниц, код неожиданно ломается после нажатия 2 страниц. Какова будет ценность меня? 0 или 2?

1 Ответ

0 голосов
/ 30 апреля 2018

Даже если цикл попадает в оператор break, он плавно завершается, так как вы перехватываете исключение. Таким образом, вся информация, включая значение i, будет в безопасности, как и ожидалось.

С другой стороны, если возникает какое-то другое исключение, которое не было перехвачено, программа быстро завершает работу с ненулевым кодом выхода, и вы не сможете использовать такую ​​информацию.

...