Цикл, чтобы найти элементы Python - PullRequest
0 голосов
/ 05 мая 2019

Я пытаюсь перебрать этот контейнер, который повторяется несколько раз на одной странице, и вывести время внутри тега span:

<div testid="Item-Content">
<div></div>
<div>
    <div>
        <div></div>
        <div>
            <div>
                <span>5:00pm</span>
            </div>
        </div>
    </div>
</div>

Это то, что у меня такдалеко:

Order = driver.find_elements_by_xpath('//*[@testid="Item-Content"]')
for Times in Order:
    Time = Times.find_element_by_xpath('./div[2]/div/div[2]/div/span')

    print(Time.text)

Ошибки с selenium.common.exceptions.NoSuchElementException

1 Ответ

1 голос
/ 05 мая 2019

Попробуйте этот код ниже. Он должен напечатать значение.

Order =driver.find_elements_by_xpath("//div[@testid='Item-Content']")
for times in Order:
    print(times.find_element_by_xpath("//span").text)

ИЛИ вы также можете использовать WebdriverWait для обработки того же.

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

Order=WebDriverWait(driver,30).until(EC.visibility_of_all_elements_located((By.XPATH,"//div[@testid='Item-Content']")))
for times in Order:
   print(times.find_element_by_xpath("//span").text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...