Подождите, пока класс загрузит значение после нажатия кнопки селен python - PullRequest
0 голосов
/ 27 мая 2020

После загрузки веб-сайта я успешно нажимаю кнопку, которая затем сгенерирует несколько чисел в этом классе

<div class="styles__Value-sc-1bfbyy7-2 eVmhyz"></div>

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

Вот код python, который я использую для захвата значения:

total = driver.find_element_by_xpath("//div[@class='styles__Value-sc-1bfbyy7-2 eVmhyz']").text

1 Ответ

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

Selenium имеет метод WebDriverWait:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions

browser = webdriver.Chrome()
delay = 5
total = WebDriverWait(browser, delay).until(expected_conditions.presence_of_element_located(<locator>)

Я не тестировал его локально, но он может работать. Существует также метод presence_of_all_elements_located, подробности вы можете найти на этой странице.

Надеюсь, это поможет!

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