При указании пути для дней в календаре возвращаются несколько значений - PullRequest
0 голосов
/ 10 января 2020
<tr><td width="16" align="center" class="calWeekend"><a class="cal" href="javascript: g_Calendar.clickDay(19);">19</a></td><td width="16" align="center" class="cal"><a class="cal" href="javascript: g_Calendar.clickDay(20);">20</a></td><td width="16" align="center" class="cal"><a class="cal" href="javascript: g_Calendar.clickDay(21);">21</a></td><td width="16" align="center" class="cal"><a class="cal" href="javascript: g_Calendar.clickDay(22);">22</a></td><td width="16" align="center" class="cal"><a class="cal" href="javascript: g_Calendar.clickDay(23);">23</a></td><td width="16" align="center" class="cal"><a class="cal" href="javascript: g_Calendar.clickDay(24);">24</a></td><td width="16" align="center" class="calWeekend"><a class="cal" href="javascript: g_Calendar.clickDay(25);">25</a></td></tr>

Мой календарь выглядит таким образом для дней (это часть его для раздела дней)

thw проблема, с которой я столкнулся, скажем, я хочу выбрать 5-й день:

//a[@href=contains(text(),'5')]

Я получаю 5, 15 и 25. Я могу указать первый элемент, но это очень плохая практика. Как мне определить точное значение числа?

Ответы [ 2 ]

1 голос
/ 10 января 2020

если нет другого элемента, содержащего такой же текст, вы можете использовать

driver.find_element_by_link_text('5')

или xpath также

driver.find_element_by_xpath("//a[text()='5']")
0 голосов
/ 10 января 2020

Я вижу, что внутренний текст также доступен. Почему бы вам не попробовать прочитать точное значение с помощью

//a[text()='5']   //which will return only one day
...