Try using "Template" action and construct your text with hyerlinks than paste it to page.
Other option is to create simple LOCAL html page somewhere on your hard disk with
desired text and links, than open that local html page in another tab in BAS and than copy
from that tab to the tab where you are working.
Некорректно работает not/=false в XPath? Ищи другое решение!
-
Задача:
Получить (!) классы каждой section за исключением не отображаемых (display: none).
Дано:
class='..' - набор различных классов.
<div class='a'> <article class='b ..'> <section class='c ..'> <div class='..'>point</> </> <section class='c ..'> <span class='head'> point </> <span class='value'> point </> </> <section class='c ..' style='display: none;'> </> <section class='c ..' style='display: none;'> <span class='head'> trash </> </> </> </>Решение:
Работает при поиске в браузере (в BAS не работает):
- //section[contains(@class, "с") and (contains(@style, "none"))=false]/@class
- //section[not(contains(@style, "none"))]
Работает в BAS (так как у span один класс можно не применять contains):
- //span[contains(@class, "value")]/parent::section[contains(@class, "с")]/@class
То есть сначала заход через дочерний элемент, класс value, потом через родителя.
(для div'а нужно прописать аналог через | но это будет уже много)
Где здесь ошибка?
Картинки: (/@class убран)
Пример с div через | :

Пример здорового XPath :

-
@y4n23x said in Некорректно работает not/=false в XPath? Ищи другое решение!:
//section[not(contains(@style, "none"))]этот работает, но не всегда. Проблема в том что в бас нет варианта за раз взять все подходящие элементы. Надо перебирать в цикле.
вот пример в первом варианте работает:
https://dropmefiles.com/Dr9ps@Fox а вот этот уже к тебе вопрос - во втором варианте ошибку выдает, хотя если открыть действие - элементы видит.
И еще по умолчанию в действии начать цикл, получить Колличество Элементов и в действии получить атрибут - не ставит вот это в поле xpath (то что там должно быть по умолчанию, как обычно)
>XPATH>а без этого указателя находит один элемент а не 2
В любом случае во втором варианте баг какой то.
-
Вот и я столкнулся на днях с этой проблемой не работает XPath поиск элементов на странице. Решением было Xpath встроенной в BAS! Вот старая выжимка поиска и она к сожалению не работает.

-
Поиск атрибута @class каждого видимого элемента section: (класс general-section), not(@style)
Решение: (первые два видимых section не имеют span, и запрос для включения div в первой картинке)
//span[contains(@class, "value")]/parent::section[contains(@class, "general-section")]/@classВыводит все атрибуты @class всех (!) нужных section . Единственное из предложенных рабочее.
not или альтернатива =false работают в BAS, но очень проблемно. Хотя в браузере (не BAS'овском) ищет нормально.
Например:
//ul[contains(@class, "navbar-nav")]//a[not(@href="#")]нормально работает, но это для другой страницы и здесь получение текста, а не xml.
-Почему просто не поставить
not(@style)? - выведет в результат баннер.
-Под видимым подразумевается section без @style='display: none' -
Вы бы шаблон тестовый приложили с разными примерами. А то я вот вообще понять не могу как вы за раз обработали несколько элементов.
Я вам скинул шаблон в котором через not contains работает. Смотри выше.
-
(!) Причём, если [contains(@class, "value")] убрать и добавить исключение атрибута @style (будь то просто атрибут или его значение @style="..." или contains)
//span/parent::section[contains(@class, "general-section") and not(contains(@style))]/@classХоть мы и исключили скрытые section, но (!!!) только в запросе.
(Результат ответа BAS = нету большинства скрытых section, но в результате есть две лишние)
Почему? -Ответ очевиден, так как мы заходили с элемента span убрались те section, которые нам нужны и те которые нам не нужны, которые не содержат span.
Вывод: Те же самые запросы в браузере через инспектор элементов (!) работают и выдают правильные значение, которые мы и запрашиваем. Следовательно not/=false работает нестабильно, ведь, если браузер обрабатывает мои запросы, то ошибки в них нету.
-
@y4n23x said in Некорректно работает not/=false в XPath? Ищи другое решение!:
Поиск атрибута @class каждого видимого элемента section: (класс general-section), not(@style)
Решение: (первые два видимых section не имеют span, и запрос для включения div в первой картинке)
//span[contains(@class, "value")]/parent::section[contains(@class, "general-section")]/@classВыводит все атрибуты @class всех (!) нужных section . Единственное из предложенных рабочее.
not или альтернатива =false работают в BAS, но очень проблемно. Хотя в браузере (не BAS'овском) ищет нормально.
Например:
//ul[contains(@class, "navbar-nav")]//a[not(@href="#")]нормально работает, но это для другой страницы и здесь получение текста, а не xml.
-Почему просто не поставить
not(@style)? - выведет в результат баннер.
-Под видимым подразумевается section без @style='display: none'А вы как проверяли работу в BAS?

Скрипт: 2457.xml