Как мне проанализировать данные из выпадающего меню с помощью селена и Красивого супа с питоном?

#python #selenium #beautifulsoup #drop-down-menu

#питон #селен #прекрасный суп #выпадающее меню

Вопрос:

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

Я использовал селен и Красивый суп для извлечения источника html-страницы:

 driver.get(url) soup = BeautifulSoup(driver.page_source, 'html.parser')  

Следующий код возвращает все данные из уникального параметра. Первый по умолчанию:

 data = [] temp = [] for item in soup.find_all('div',{'class': 'box box-100'}):  temp.append(item.get_text()) data.append(temp)  

Я хочу проанализировать параметры и применить приведенный выше код, который работает.Как мне это сделать? введите описание изображения здесь

Я попытался получить доступ с помощью bs4, но он возвращает пустой список:

 menu = [item.get_text() for item in soup.find_all('div',{'class': 'ng-dropdown-panel-items scroll-host'})]  

и с селеном:

 driver.find_element_by_class_name("ng-dropdown-panel-items scroll-host")  

Исключение NoSuchElementException: Сообщение: такого элемента нет: Не удается найти элемент: {«метод»:»селектор css»,»селектор»:».ng-выпадающая панель-элементы прокрутки-хост»} (Информация о сеансе: безголовый chrome=95.0.4638.69)

Комментарии:

1. Будет трудно что-либо рекомендовать, если мы не сможем увидеть страницу. Находятся ли раскрывающиеся параметры в пустом lt;divgt;? Или они находятся в тегах div.ng-опций? Я понимаю, что это панель мониторинга, а не то, чем вы можете поделиться извне, но без html это будет сложно.

2. @А. Паттерсон lt;div class=»ng-option ng-star-inserted» role=»option» aria-selected=»false» id=»a8c90911eba7-2″gt;lt;!—-gt;lt;span class=»ng-option-label ng-star-inserted»gt;1_11_2021lt;/spangt;lt;!—-gt;lt;/divgt;

3. @A. Паттерсон, к которому я пытался получить доступ с помощью bs4: menu = [item.get_text() для элемента в soup.find_all(‘div’, {‘класс’: ‘ng-выпадающая панель-элементы прокрутки-хост’})], он возвращает пустой список

4. Да. Дает ли это вам массу значений, когда вы зацикливаетесь на этих ng-опционных дивах?

5. Я предполагаю, что проблема в том, что все опции в меню имеют одинаковые имена тегов и имена классов, но когда я просматриваю их, они возвращают значения только для первого варианта!! но спасибо!!