Подождите пока логин или неверный пароль - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь автоматизировать некоторые имена входа по нескольким URL-адресам с помощью selenium в python 3, но некоторые из них загружаются слишком медленно, когда пароль верен. Я не могу подтвердить успешный вход в систему даже во время сна 60-х годов. Есть ли способ использовать ожидание, пока что-то не изменится на странице? спасибо за помощь.

for url in urls:
        driver.get(url)
        time.sleep(5)
        for usuario in objarray:
            driver.find_element_by_id("loginEdit-el").send_keys(usuario.username)
            driver.find_element_by_id("passwordEdit-el").send_keys(usuario.password)
            driver.find_element_by_id('t-comp14-textEl').click()
            time.sleep(15)
            try:
                elemento = driver.find_elements_by_id("menu-button-imageEl")
                if elemento[0] != []:
                    usuario.loginCheck.append('True')

1 Ответ

0 голосов
/ 23 октября 2019

Если сообщение о неудачном входе в систему отображается сразу после попытки, отследите его и повторите попытку. если нет, то бесконечно ждите элемента, присутствующего на следующей странице.

def check_exists_by_id(id):
    try:
        driver.find_element_by_id(id)
    except NoSuchElementException:
        return False
    return True

while check_exists_by_id('next_page_element_id') == False:
    print('Waiting for element')
    time.sleep(1)
...