Найти элемент по подстроке



  • Здравствуйте.
    Прошу подсказки, никак не могу сообразить.
    Вот мой скрипт зашел в аккаунт почты (gmail.com например). Перешел в папку "Входящие". Теперь надо "двигать мышь и кликнуть", то есть найти:

    1. Выделенные жирным, то есть не открытое ранее письмо. Ищем class="zF"

    2. Непосредственно сам атрибут email="*****@my-site.ru". Вот здесь и загвоздка. У нас есть только домен (после значка @), но то, что до @, нам не известно.

    Что получается. Если бы нам был известен емайл полностью, то можно было так:

    >CSS>[class="zF"][email="info@my-site.ru"]
    

    Пробовал через MATCH и регулярку, так не получается

    >MATCH>class="zF" email="~^.+@my-site.ru~"
    

    Подскажите, как найти все элементы (строчки), содержащие class="zF" и email="*****@my-site.ru" ?
    Главное найти их, а потом можно кликать через >AT>



  • Ispolzyi XPATH , v seti rukovods kucha



  • @Putevka Я не знаю и не умею) использовать AT но вот элемент найти можно новерное так
    xpath

    //*[@class = 'zF' and contains(@email, '@my-site.ru')]
    

    Но это все только на ваших словах и есть ли там атрибут email я совсем не уверен. Да и класс там новерное динамический, так что скорее это просто пример



  • @faleev XPATCH в BAS не поддерживает регулярки. Проверил несколько раз. Возможно ошибаюсь....



  • @Putevka вы бы кусок кода вставили с тем что вам надо выпарсить, иначе можно долго играть в телепатию...



  • @Putevka said in Найти элемент по подстроке:

    XPATCH в BAS не поддерживает регулярки.

    А где xpath их поддерживает? Просто интересно, может я отстал и уже такое выдумали )



  • @bigorat

    <div id=":34" class="afn">не прочитана, 
    <span class="bA4">
    <span class="zF" email="info@my-site.ru" name="info@my-site.ru" data-hovercard-id="info@my-site.ru">info@my-site.ru</span></span>, 
    <span class="bqe" data-thread-id="#thread-f:1655608622101963060" data-legacy-thread-id="16f9e7451f762134" data-legacy-last-message-id="16f9e7451f762134" data-legacy-last-non-draft-message-id="16f9e7451f762134">Проверочное сообщение</span>, 
    <span class="bq3">13 янв.</span>, Это тестовое письмо для проверки почты. Множественные Источники Трафика Годовая программа Для наилучших результатов, если на Ваше сообщение должны ответить, всегда отправляйте свою почту в один и тот.</div>
    




  • @f0cus Ураа!!! Получилось по вашему....
    Да здравствует мировая революция....



  • @Putevka рано радуетесь, завтра class="zF" уже может быть как class="Nq" или ещё как нибудь :) Скорее всего они тут меняются.



  • @Putevka xpath поддерживает много чего другого и Оно если не прямо заменяет их то очень рядом. Например кроме contains там еще дофига чего и можно обратное утверждение использовать легко. А это только строковые. Есть еще. В общем это очень широкий инструмент почти как регулярка. Учите xpath учите поверьте пригодится



  • @f0cus Да, спасибо!
    Я просто пробовал два варианта XPATCH, но по отдельности и у меня не получалось. Не знал что можно внутри применить and



  • @Putevka Вот простой пример из того что вы дали так можно выдрать сам email

    //*[contains(@email, '@my-site.ru') and contains(@name, '@my-site.ru')]/@email
    

    Плевать нам ихние id мы перебором потом найдем=)
    поверим и будем верить что эти классы у них не динамо. Но выедерет это все и везде где найдет. А найдет все письма.
    Вот как видите это очень мощный инструмент
    upd ссылку что я дал это мануал, и там есть задания прямо по нему с начала можете и начать
    Можно логические не только и или и не там тоже есть. Contains это содержит and и or это или not нет ну в общем все очень просто



  • @f0cus супер!!!!



  • @Putevka
    Звучит прикольно, правда? :
    Голодранцы всего миру, сгоптесь в кучу!


Log in to reply