Получение нескольких определенных тегов в selenium python

#python #selenium #webdriver #selenium-chromedriver

#python #selenium #webdriver #selenium-chromedriver

Вопрос:

У меня есть веб-страница, которую я очищаю, и есть несколько таких тегов:

     <div ng-repeat-end="" class="default-group term-" ng-class="{
                                'course-converting': (!baseCourses.isCourseConversionComplete(cm.course) amp;amp;amp;amp; !cm.course.ui.showConversionInProgress),
                                'last-item': $last
                              }" ng-init="baseCourses.patchData(cm)">


                <bb-base-course-card ng-class="::{'first': baseCourses.isFirstNonFavorite(cm, term).ui.isNeedCreateFTUE}" membership="cm" term="term" delegated-api="baseCourses"><!-- If internal course -->
<!----><div ng-if="!membership.course.ui.isExternal" class="element-card course-element-card highlight pointer bar  js-course-details child-is-invokable course-color-5" data-course-id="_6138_1" bb-click-to-invoke-child="a.course-title" stop-propagation="true" ng-hide="pinned" ng-class="{
                  'inactive-link': !membership.course.canAccess() || baseCourses.isSetToUltraCourse(membership.course),
                  'js-complete': membership.course.isComplete(),
                  'js-updating-conversion-status': membership.course.ui.isUpdatingConversionStatus  || baseCourses.isSetToUltraCourse(membership.course),
                  'js-conversion-in-progress': membership.course.ui.showConversionInProgress,
                  'show-focus-outline': baseCourses.isFocusedCourse(membership.course.id),
                  'set-to-ultra-course': baseCourses.isSetToUltraCourse(membership.course)
                }" tabindex="-1" id="course-list-course-_6138_1">
  

Что я хочу, так это ‘data-course-id’ из div под тегом ‘bb-base-course-card’. (Также отображается в последнем теге ‘id’, но объединяется после ‘course-list-course-‘. Я также могу работать с этим.)

Кто-нибудь может помочь???

Ответ №1:

Можете ли вы просто использовать этот CSS-селектор, чтобы получить этот div?

 bb-base-course-card > div
  

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

1. На самом деле нет, дело в том, что мне нужны эти идентификаторы курсов для создания ссылок, которые похожи, https://the.site/ultra/courses/*course id*/outline

Ответ №2:

Я решил это.

  for item in page.find_elements_by_xpath('//*[@class="default-group term-"]'):
        link.append(item.find_element_by_css_selector('bb-base-course-card > div').get_attribute('data-course-id'))
  

В любом случае, спасибо.