Получить номера страниц Селена Python - PullRequest
0 голосов
/ 05 марта 2019

У меня есть список кнопок страницы.Это HTML-код.

<ul class="artdeco-pagination__pages artdeco-pagination__pages--number"><li class="artdeco-pagination__indicator artdeco-pagination__indicator--number ">
<button aria-label="page 1"> <span>1</span></button> </li>........</ul>

И так далее.Первое, что я делаю, это прокручиваю страницу вниз, чтобы увидеть все номера страниц.

driver.execute_script("window.scrollTo(0, 1500);")
pages= driver.find_elements_by_css_selector('.artdeco-pagination__indicator')
print(len(pages))

Результат pages будет равен 0. .artdeco-pagination__indicator не является селектором css?Я не понимаю, почему результаты 0, а не 50 ...

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Используйте следующий код:

all_pageList = driver.find_elements_by_xpath("//li[contains(@class,'artdeco-pagination__indicator')]")
driver.find_elements_by_xpath("//li[contains(@class,'artdeco-pagination__indicator')]//button//span")[len(all_pageList)-1].text
print(len(all_pageList))
0 голосов
/ 05 марта 2019

Было бы надежнее использовать ожидаемое условие

pages = WebDriverWait(driver,5).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, '.artdeco-pagination__indicator')))

Дополнительный импорт

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