Общая идея заключается в извлечении DOM с использованием пакетов Selenium.
В частности, целью является извлечение значения max
, которые находятся в классе pagination__input hide-phone
, как показано ниже
<div class="pagination__input hide-phone">
<input type="number" name="page" max="12" value="1">
</div>
Веб-сайт доступен по этой ссылке .
Для этого был разработан следующий код.
maxPage = self.browser.find_elements_by_css_selector( "[class='pagination__input hide-phone']" )
valueMax=maxPage.get_attribute( 'max' )
Однако была выдана следующая ошибка.
AttributeError: 'list' object has no attribute 'get_attribute'
Могу я узнать, в чем проблема. Заранее спасибо.
Редактировать 2
Как предложено @ Kunduk.
Согласно @Kunduk, следующая строка была соответственно адаптирована. В частности, добавьте self.
print( WebDriverWait( self.browser, 10 ).until( EC.visibility_of_element_located(
(By.CSS_SELECTOR, "div.pagination__input.hide-phone>input[name='page']") ) ).get_attribute( "max" ) )
Однако я получил следующую ошибку
Редактировать 1:
В соответствии с предложением @ Jo sh
pages = self.browser.find_elements_by_css_selector( "[class='pagination__input hide-phone']" )
maxPages = [page for page in pages if page.get_attribute('max')]
Однако он возвращает результат []
, также как показано на рисунке ниже: