Поиск с помощью css или match



  • Есть html код всегда рандомное название class нужно кликнуть на элемент где есть число а число каждый раз разные от 1 до 99 можно сделать такое? Нужно использовать регулярное выражение типо этого [0-9][0-9] если есть такая возможность

    <div class="app_code">
    <span>
    <div class="Рандомное название">
    <span class="Рандомное название">1</span>
    </div>
    </span>
    <span></span>
    <span></span>
    </div>
    
    Если сделать так то находит где цифра 1 можно вместо один как то сделать чтоб находил и другие числа?
    >CSS> .app_code > span > div > span >MATCH>1
    
    Можно было бы сделать так или же выбрать элемент по порядку но где пустые элементы span внутри так же  появляются  div и span но внутри без числа и меняются местами
    >CSS> .app_code > span > div > span
    
    Так же можно с помощью Xpath но если только знаешь какое число
     >XPATH> //div[@class="app_code"]/span/div/*[.='1']
    
    Например если делать так то BAS видит все элементы с классом 123 и 1234
     >CSS> .app>span[class='123'], .app>span[class='1234']
    


  • Сначала регуляркой ищем спан с числом:

    >(\d+?)</span>
    

    Потом мачем кликаем по найденному числу



  • @forall это действие нужно обновляться то-есть ждать элемента span с числом внутри он ждет определенное время если не появляется заново ищет если найдет то нажимает если нет то ждет до бесконечности

    Вроде у xpath есть возможность работать с регулярными выражениями но я не смог сделать то что мне нужно



  • if от регулярки пусто
    в цикл сунь
    или метками



  • @GamiD есть функция получить текст, потом ее проверяем или не пустое значение. Если пустое, ждем дальше



  • @forall с помощью цикла долго будет проверять так как там цифры от 1 до 99



  • @seedgg не плохой вариант спасибо попробую сделать так но все же если есть вариант сделать как я писал было бы хорошо



  • @GamiD said in Поиск с помощью css или match:

    @forall с помощью цикла долго будет проверять так как там цифры от 1 до 99

    Ты с регуляркой пробовал или нет?
    Она сразу вытащит число!



  • @forall а тоесть ты имеешь ввиду достать содержимое span проверить регуляркой на существование числа ?



  • @GamiD
    Эта регулярка вытащит ТОЛЬКО число



  • нашел еще один вариант

    >XPATH> //div[@class="chat-meta"]/span/div/span[text()='1' | text()='2' | text()='3']
    

    но не хочется делать длинный код text()='число' увеличивая число на 1



  • @seedgg твой вариант тоже не подойдет так как элементов с class="app_code" будет много где то 10-20 и в любом из них может появиться число а каждый проверять это займет время



  • This post is deleted!


  • @GamiD said in Поиск с помощью css или match:

    нашел еще один вариант

    >XPATH> //div[@class="chat-meta"]/span/div/span[text()='1' | text()='2' | text()='3']
    

    но не хочется делать длинный код text()='число' увеличивая число на 1

    Попробуй вот такой xpath запрос

    //пытаемся найти span который содержит текст из одного или более символов.
    >XPATH> //div[@class="chat-meta"]/span/div/span[string-length(text()) >= 1]
    


  • Всем спасибо большое за подсказки
    вариант @santilo работает как нужно потому что в других span появляются элементы без текста только на нужном span появляется число изза этого это самый лучший и быстрый вариант



  • Я не шарю в XPath, но по-моему у @forall тоже норм вариант был.



  • @Antonio Не спорю но у него несколько действий а у @santilo одно действие



  • @GamiD В теории можно весь скрипт написать на голом js и использовать его в выполнить код, но это не всегда удобно. Для этого и создан BAS, чтобы можно было программировать в визуальном конструкторе.


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.