Ich versuche zu lernen, wie man Skript in Python mit Selen machen. Die meiste Zeit habe ich mit "statischem Element" geübt, aber jetzt möchte ich einige Elemente auswählen, die eine dynamische ID haben, aber das Problem ist, dass ihre ID keinen partiellen statischen Teil hat.So finden Sie diese Art von Element mit Selen
aber sie haben eine andere „id“, statische diesmal aber ich weiß nicht, wie es mit Selen in Python zu verwenden, ich habe versucht, zwei verschiedene Dinge, aber Selen ist nicht auf dieses Element
Dieser einen Teil finden des Elements:
<div class="table-cell show-plus" ng-class="{'show-plus': !user.deleted && (authentication.user.isManager || user.isMe) && (!group.isExchange || !ctrl.isPast(day)), 'no-events': !_events.length, 'is-today': day === ctrl.todayString}" ng-repeat="day in ctrl.currentDays" ng-click="ctrl.addShift(user, day, false, group.grouping, group.isExchange, group.key)" lvl-drop-target="true" on-drop="ctrl.dropped(dragEl, dropEl, event, 'week')" data-user-id="30308" data-is-exchange="false" data-shift-date="2016-09-29" id="5aa270ea-180f-2861-c97a-506c76cee386"><!----><div data-shift-id="134514" data-is-exchange="false" ng-repeat="event in ::(_events = (user.events[day] | filter:ctrl.filterOutMultiday | orderBy:['sort', 'dtstart'])) track by event.key" lvl-draggable="true" augment-draggable="" class="shift s12B835 published can-be-selected" ng-class="::{
leave: event.type === 'leave',
staging: event.status === 'planning',
cancelled: event.cancelled,
openend: event.isOpenEnded,
published: event.status === 'published',
unpublished: event.status !== 'published',
unavailability: event.type === 'availability',
'can-be-selected': event.canBeSelected
}" draggable="true" id="c9d08710-daef-cdf7-9d7b-c4ceb13541a6"><!----><div class="shift-selection" ng-click="ctrl.stopEventPropagation($event)" ng-if="::event.canBeSelected"><div class="checkmark-wrapper"><label class="checkmark"><input type="checkbox" ng-model="ctrl.selectedEvents[event.id]" ng-change="ctrl.selectionChanged()" class="ng-pristine ng-untouched ng-valid ng-empty"> <span></span></label></div></div><!----><div class="shift-details" ng-click="ctrl.openShift(event, group.isExchange, $event)" ng-class="{'right-icon': event.showOfferedShiftIcon || event.showAvailableShiftIcon || event.showTimeoffIcon}"><div class="ellipsis" title="9:00A - 5:00P • 8H">9:00A - 5:00P • 8H <img style="margin-top:-2px" ng-show="event.tagId && event.status !== 'planning'" src="/assets/svg/Icons/16/shift-repeat-white-8afc52.svg" class="ng-hide"> <img style="margin-top:-2px" ng-show="event.tagId && event.status === 'planning'" src="/assets/svg/Icons/16/shift-repeat-gray-6d0e14.svg" class="ng-hide"></div><div class="ellipsis duration" ng-show="event.position">Design <span class="show-on-collapsed">• Carl Fairclough</span></div><div class="ellipsis duration ng-hide" ng-show="!event.position">Carl Fairclough</div><span class="shift-details-status ng-hide" ng-show="event.showOfferedShiftIcon"><img src="/assets/svg/Icons/24/shift-offer-white-cce33c.svg"> </span><span class="shift-details-status ng-hide" ng-show="event.showAvailableShiftIcon"><img src="/assets/svg/Icons/24/shift-available-white-c55aba.svg"> </span><span class="shift-details-status ng-hide" ng-show="event.showTimeoffIcon"><img src="/assets/svg/Icons/24/shift-timeoff-white-0cab28.svg"></span></div></div><!----></div>
<div data-shift-id="134514" data-is-exchange="false" ng-repeat="event in ::(_events = (user.events[day] | filter:ctrl.filterOutMultiday | orderBy:['sort', 'dtstart'])) track by event.key" lvl-draggable="true" augment-draggable="" class="shift s12B835 published can-be-selected" ng-class="::{
leave: event.type === 'leave',
staging: event.status === 'planning',
cancelled: event.cancelled,
openend: event.isOpenEnded,
published: event.status === 'published',
unpublished: event.status !== 'published',
unavailability: event.type === 'availability',
'can-be-selected': event.canBeSelected
}" draggable="true" id="c9d08710-daef-cdf7-9d7b-c4ceb13541a6"><!----><div class="shift-selection" ng-click="ctrl.stopEventPropagation($event)" ng-if="::event.canBeSelected"><div class="checkmark-wrapper"><label class="checkmark"><input type="checkbox" ng-model="ctrl.selectedEvents[event.id]" ng-change="ctrl.selectionChanged()" class="ng-pristine ng-untouched ng-valid ng-empty"> <span></span></label></div></div><!----><div class="shift-details" ng-click="ctrl.openShift(event, group.isExchange, $event)" ng-class="{'right-icon': event.showOfferedShiftIcon || event.showAvailableShiftIcon || event.showTimeoffIcon}"><div class="ellipsis" title="9:00A - 5:00P • 8H">9:00A - 5:00P • 8H <img style="margin-top:-2px" ng-show="event.tagId && event.status !== 'planning'" src="/assets/svg/Icons/16/shift-repeat-white-8afc52.svg" class="ng-hide"> <img style="margin-top:-2px" ng-show="event.tagId && event.status === 'planning'" src="/assets/svg/Icons/16/shift-repeat-gray-6d0e14.svg" class="ng-hide"></div><div class="ellipsis duration" ng-show="event.position">Design <span class="show-on-collapsed">• Carl Fairclough</span></div><div class="ellipsis duration ng-hide" ng-show="!event.position">Carl Fairclough</div><span class="shift-details-status ng-hide" ng-show="event.showOfferedShiftIcon"><img src="/assets/svg/Icons/24/shift-offer-white-cce33c.svg"> </span><span class="shift-details-status ng-hide" ng-show="event.showAvailableShiftIcon"><img src="/assets/svg/Icons/24/shift-available-white-c55aba.svg"> </span><span class="shift-details-status ng-hide" ng-show="event.showTimeoffIcon"><img src="/assets/svg/Icons/24/shift-timeoff-white-0cab28.svg"></span></div></div>
das einzige, was für mich, dieses Element zu holen ist zu verwenden:
> data-shift-id="134514"
ich habe versucht, verschiedene Arten wwith id und XPath aber gleiche re sult am Ende: "Dieses Element kann nicht gefunden werden"
Haben Sie Ideen?
Sie Klasse verwenden können. SHare your Website –
Ich glaube nicht, dass es mit Klasse arbeiten kann und tut mir leid, ich kann die Website nicht teilen, erfordert Anmeldeinformationen. –
Es gibt ng repeat tag. Verwenden Sie Wiederholung. –