#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'))
В любом случае, спасибо.