Как я могу заставить этот код правильно выполнять оператор if - PullRequest
0 голосов
/ 10 апреля 2020

Приведенный ниже код должен ждать нажатия кнопки через 2 секунды. после двух щелчков следует подождать 15 секунд, прежде чем снова щелкнуть. Однако 15-секундного ожидания не происходит. Что я делаю не так?

#click follow
    clicked=0
    try:
        Fclick=driver.find_element_by_xpath('//button[text()="Follow"]')
        driver.execute_script("arguments[0].click();", Fclick)
        time.sleep(1)
        inputElement.send_keys(e)
    except Exception:
        driver.back()
        time.sleep(2)
        driver.get("https://www.instagram.com/am_batman33/?hl=en")
        clicked +=1
        if clicked == 2:
            clicked = 0
            time.sleep(15)
        else:
            time.sleep(2)

1 Ответ

0 голосов
/ 10 апреля 2020

Кажется indentation проблема. если условие else попадает в блок except, то так и до тех пор, пока в блоке try не возникнет исключение, код не будет выполнен.

Простое решение - сохранить ваш код с тем же намерением, что и try, за исключением блок.

clicked=0
try:
    Fclick=driver.find_element_by_xpath('//button[text()="Follow"]')
    driver.execute_script("arguments[0].click();", Fclick)
    time.sleep(1)
    inputElement.send_keys(e)
except Exception:
    driver.back()
    time.sleep(2)
    driver.get("https://www.instagram.com/am_batman33/?hl=en")
    clicked +=1

if clicked == 2:
    clicked = 0
    time.sleep(15)
else:
    time.sleep(2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...