Найдите текст, который загружается динамически Python Selenium WebDriver - PullRequest
0 голосов

Моя проблема в том, что я пытаюсь получить текст элемента, который динамически заполняется содержимым HTML. Вот исходный код HTML. Последний div:

<div data-bind="with: dataForRatingPopup"></div>

Заполняет HTML-кодом, когда мышь входит в первый div:

<div class="star-rating-wrap" data-bind="event: { mouseenter: mouseEnter, mouseleave: mouseLeave, click: click }, css: { 'has-supplier': emex.context.userIsInOptovikInterface }">
    <div class="star-rating rating-6" data-bind="css: css"></div>
    <div data-bind="with: dataForRatingPopup"></div>
</div>

Как получить текст этого элемента с помощью Selenium WebDriver?

1 Ответ

0 голосов
/ 06 мая 2018

Вы можете использовать функцию webdriverwait для этого

from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

WebDriverWait(driver, 100).until(
            EC.text_to_be_present_in_element((By.XPATH, '//div[contains(@data-bind, "dataForRatingPopup")]'), "txt you want to match")
        )

Выше кода будет ждать до 100 секунд, чтобы найти div (чей атрибут @ data-bind содержит значение «dataForRatingPopup»), который содержит текст «txt, который вы хотите сопоставить»

Полезные ссылки: https://christopher.su/2015/selenium-chromedriver-ubuntu/ (Вы можете пропустить использование pyvirtualdisplay в этом)

http://selenium -python.readthedocs.io / посаживания started.html # простой использование

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...