Как найти элемент в Селен Python, используя класс в DIV с другой выбор - PullRequest
0 голосов
/ 27 сентября 2018

Я пробовал

driver.find_element_by_xpath( "//div[@class='pepDayScroller_dayNum']").click()

для следующих элементов, но это не сработало.Пожалуйста, помогите.

Попробуйте найти второй элемент с номером 2

<div class="pepDayScroller_dayNum">1</div>
<div class="pepDayScroller_dayNum">2</div>
<div class="pepDayScroller_dayNum">3</div>

вот дополнительная информация

<div class="pepDayScroller_dayWrapper">
  <a href="#" class="pepDayScroller_day pepDayScroller_day--selected" data-index="0">
    <div class="accessibleText accessibleSelectedMark" aria-hidden="false">Selected</div>
    <div class="pepDayScroller_dayNum">1</div>
    <div class="pepDayScroller_startingFrom"><div 
      class="pepDayScroller_startingFromLabel">Prices vary by date.</div>
    </div>
   </a>
  </div>
<div class="pepDayScroller_dayWrapper"><a href="#" class="pepDayScroller_day pepDayScroller_day--selected" data-index="0"><div class="accessibleText accessibleSelectedMark" aria-hidden="false">Selected</div><div class="pepDayScroller_dayNum">1</div><div class="pepDayScroller_startingFrom"><div class="pepDayScroller_startingFromLabel">Prices vary by date.</div></div></a></div>

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

<a href="#" class="pepTieredCalendar_dateBox tappable pepTieredCalendar_dateBox--32 pepTieredCalendar_dateBox--value" tabindex="0" role="button" data-tier="value" data-date="2018-09-27" aria-label="2018-09-27, 87.30 USD">
                    <span class="pepTieredCalendar_dateBoxText">27</span>
                </a>

как мне найти эти элементы. Спасибо

1 Ответ

0 голосов
/ 27 сентября 2018

Класс, к которому вы пытаетесь обратиться, соответствует множеству элементов одновременно.Вы можете попытаться найти, сопоставив текст, например:

driver.find_element_by_xpath("//*[contains(text(), '2')]")

или сопоставив все элементы и выбрав тот, который вам нужен:

all_elements = driver.find_elements_by_class_name("pepDayScroller_dayNum")
two_element = None

for el in all_elements:
    if el.text == "2":
        two_element = el
        break

Дайте мне знать, если это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...