Глупый вопрос по селекторам



  • Пересмотрел видео по селекторам уже наверное раз 5, не пойму, то ли это не возможно, то ли очень очевидно, то ли я упустил этот момент.

    Сама суть вопроса:
    Есть на страничке такие куски кода:

    <div class="picker__day picker__day--outfocus picker__day--disabled" data-pick="1609192800000">29</div>
    <div class="picker__day picker__day--infocus" data-pick="1611871200000">29</div>
    

    Мне нужно клик по элементу div .picker__day--infocus который содержит текст 29.
    Я понимаю как сам текст достать, но как найти элемент по содержанию текста я не могу понять. Перелопатил справочники по CSS селекторам, там тоже не нашел подобного примера.
    Думал найти по MATCH но цифры "1611871200000" меняются, так не получится.

    Заранее благодарю за подсказку.



  • @inbev Попробуй этот MATCH

    >MATCH>class="picker__day picker__day--infocus"
    


  • @DoobGuy мой провтык, не полностью дал исходные данные.
    таких строк с цифрами равно дней в месяце. То есть, по примеру выше оно найдет в текущем месяце 31 совпадение.
    alt text



  • @inbev

    >XPATH> //div[@class="picker__day picker__day--infocus" and text()="29"]
    

    попробуй так



  • @doc Огромное спасибо!! именно такой способ и сработал. я уже понял, что самого CSS не достаточно, нужно теперь изучать XPATH



  • @doc ещё такой вопрос, если не возражаете.
    Можно ли в скобках класса часть прописать? как оказалось, иногда он меняется, и там ещё три параметра добавляется. А меня интересует главное чтобы было наличие picker__day--infocus



  • @inbev said in Глупый вопрос по селекторам:

    @doc ещё такой вопрос, если не возражаете.
    Можно ли в скобках класса часть прописать? как оказалось, иногда он меняется, и там ещё три параметра добавляется. А меня интересует главное чтобы было наличие picker__day--infocus

    @class="picker__day picker__day--infocus" - полное совпаление
    contains(@class,"picker__day--infocus") - вхождение

    >XPATH> //div[contains(@class,"picker__day--infocus") and text()="29"]
    


  • @doc да, так работает. благодарю!
    Это выпадающий календарь, получается подсвечивается текущее число месяца, не важно какой месяц выбран в календаре.
    Пока вы писали, я конечно решил вопрос через if с проверкой текущего дня месяца и сравнение с тем что мне нужно, и в зависимости от исхода на какой класс кликать, но это костыли))


Log in to reply