Как читать текст Dynami c, используя селен python - PullRequest
0 голосов
/ 02 мая 2020

Мне нужно получить динамический c текст ie. отображается на веб-странице, когда ввод пароля неверен при отправке формы с использованием Selenium Python.

Вот мой код HTML.

<form>
    <table>
        <tbody>
            <tr>
                <td colspan="5" align="center" height="20">
                    <div id="information" align="center" style="color:red;"></div>
                </td>
            </tr>
        </tbody>
    </table>
</form>
<div id="information" align="center" style="color:red;">Password is incorrect!!</div>

В приведенном выше коде я пытался восстановить текст "Пароль неверный !!" который отображается, когда введенный пароль неверен при отправке формы, используя следующий код.

pwd_input_result_element = driver.find_element_by_xpath("//*[@id='information']")
pwd_input_result_info = pwd_input_result_element.text

Но когда я печатаю pwd_input_result_info, он отображается пустым.

Как продолжить, чтобы получить динамический c текст "Пароль неверный !!" используя Selenium Python?

1 Ответ

0 голосов
/ 03 мая 2020

Привет,

Я могу получить динамический c текст "Пароль неверный !!" когда мы отправляем форму с неправильным вводом пароля, используя приведенный ниже код.

Нам нужно дождаться, пока не появится указанный элемент c, чтобы текст появился, когда мы вводим неправильный пароль и отправляем.

Здесь мой фрагмент кода, который отлично работает.

from selenium.webdriver.support import expected_conditions as EC

# check whether the password input is correct or not
    try:
        WebDriverWait(driver, 20).until(EC.text_to_be_present_in_element(
            (By.XPATH, "//div[@id='information'][@style='color:red;']"), "Password is 
incorrect!!"))

        print("Invalid Login")
    except TimeoutException as e:
        print("Valid Login")

    pwd_input_result_element = driver.find_element_by_xpath("//div[@id='information'] 
[@style='color:red;']")
    pwd_input_result = pwd_input_result_element.text
    print(pwd_input_result_element.text)
    print("pwd_input_result:", pwd_input_result) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...