Пока l oop не складывает мою переменную python3 - PullRequest
0 голосов
/ 01 февраля 2020

Я делаю скребок для данных в python, используя селен, я хочу перемещаться по страницам на сайте, используя некоторое время l oop для запуска скребка, но я не могу изменить переменную навигации, вот мой код

numeros = 2
all_texts = driver.find_elements_by_class_name('list')
btn = driver.find_element_by_xpath('//*[@id="listadoAgencias"]/div/div/div[3]/nav/ul/li['+str(numeros)+']/a')
veces = 1


def showall():
    for text in all_texts:
        print(text.text)
        sleep(2)


while veces < 6:
    showall()
    print('------------------------------------------')
    driver.execute_script("window.scrollTo(0, 3000)")
    sleep(1)
    btn.click()
    numeros += 1
    sleep(3)

моя переменная "цифры" все та же (int 2), поэтому numeros += 1 не действует и приложение обрабатывает sh после go на второй странице

Ответы [ 2 ]

0 голосов
/ 01 февраля 2020

ИСПРАВЛЕНО

Я положил

btn = driver.find_element_by_xpath('//*[@id="listadoAgencias"]/div/div/div[3]/nav/ul/li['+str(numeros)+']/a')

в то время как l oop, поэтому теперь он использует обновленное значение numeros

0 голосов
/ 01 февраля 2020
  1. Вы инициализировали veces = 6, и в то время как l oop говорит while veces < 6, что в первой попытке будет равно FALSE .
  2. Также убедитесь, что вы меняете значение veces (один раз после итерации), чтобы оно не стало бесконечным l oop. В таком случае ваша программа взломает sh.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...