видимо проблема сейчас после if в двигать мышь и кликнуть на элемент
var data = {fail:false,wait:true};data["scroll"] = "no scroll" == "scroll";data["threshold"] = parseInt(80);data["timeout"] = 5000;data["data"] = "iVBORw0KGgoAAAANSUhEUgAAAMEAAAAeBAMAAABnBGdVAAAALVBMVEUAWv/V5P////+cv/9Chf+Qt/+81P/k7v+Crv/y9/+nxv/5+/9dlv/F2f9zpf8aFseGAAABB0lEQVR4Ae2SsUoDQRCG58ixbHHFXhCsHcHG5kilaJFG5j1EMIepwqFgtYWNbGWEEGGtfQBBzm4LC/MkvoazupWphEkT9msGrvi/m38HMpnMfxg2a5/O0qxVJyDQT2sp5bWoQd32GzbQdAHl7NAqPABCr5+xJ+Rgh3tChhN7OaZO+SvrThfQfr6H9oN3qB5h1MgYanDNvf1pZtABTV6BLn5bWskY+F/JHIc4QSHiZAnFTjSUM5QxxFSfDAXn6WSo5kZoBzKg31JLyrMhtTTw3J6IIYbffBm9bANNH8Ad8UuHmg19NZcx7I75nO7Sta5wn6/Vw4iXOccXI3NLf+B32DDbYMhktphvXodGRgltnEgAAAAASUVORK5CYII=";_wait_image(data)!
_if(typeof _Idle != "undefined", function(){
_Idle.emulate({useGeneral: true, target: _image()})!
})!
_if_else(typeof _Idle != "undefined" && _Idle.additionalEmulationEnabled(), function(){
_Idle.moveAndClickOn(_image(),{holdCtrl: false, clickType: "left", wait: false, moveSettings: {} })!
}, function(){
_image().random_point()!
_if(_result().length > 0, function(){
move( {} )!
_image().clarify(X,Y)!
_call(_clarify, {} )!
mouse(X,Y)!
})!
})!
Некорректно работает 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