Несколько попыток и за исключением одного блока для циклов - PullRequest
0 голосов
/ 10 марта 2020

Я пишу код, который имеет несколько циклов for (web-scraping). Проблема в том, что я продолжаю получать ошибку StaleElement, из-за которой мне нужно включать try и исключение в каждую строку кода, но это создает проблему вложенных циклов for в моем коде.

Это домашняя страница: https://www.ine.es/censo/es/seleccion_inframunicipal.jsp

Кроме того, мои циклы for работают на двух страницах, так как я выбираю несколько списков. Например, я, вероятно, неправильно понимаю отступ, потому что циклы for не правильно вложены.

Мой код выглядит так:

browser.find_element_by_xpath('//*[@id="cabe"]/table[2]/tbody/tr[1]/td[5]/a/b').click()
browser.find_element_by_xpath('//*[@id="cabe"]/table[2]/tbody/tr[2]/td[17]/a/b').click()

first_op = browser.find_elements_by_xpath('/html/body/form[2]/table/tbody/tr[1]/td[1]/select/option')
second_op = browser.find_elements_by_xpath('/html/body/form[2]/table/tbody/tr[1]/td[2]/table/tbody/tr[1]/td[1]/select/option')
third_op = browser.find_elements_by_xpath('/html/body/form[2]/table/tbody/tr[1]/td[2]/table/tbody/tr[1]/td[1]/select/option')
fourth_op =  browser.find_elements_by_xpath('/html/body/form[2]/table/tbody/tr[1]/td[1]/table/tbody/tr[1]/td/select/option')

for elem in first_op:
    elem.click()
    for ele in second_op:
        ele.click()
        browser.find_element_by_xpath('/html/body/form[2]/table/tbody/tr[1]/td[2]/table/tbody/tr[2]/td/a')
        for el in third_op:
            el.click()
            browser.find_element_by_xpath('/html/body/form[2]/table/tbody/tr[1]/td[2]/table/tbody/tr[3]/td[2]/a[1]/img')
            browser.find_element_by_xpath('/html/body/form[2]/table/tbody/tr[2]/td/input')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...