@gurkin4 , зачем этим заниматься? Да и 2 строки - это пример, их там разное количество от 8 и более...
IF ELSEIF ELSEIF ELSEIF ELSE - как сделать?
-
Собственно вопрос в заголовке топика.
Если я делаю без ELSE вообще, то скрипт просто пролетает мимо единственного правильного IF.
Писать отдельным кодом тоже проблема - там при правильном условии IF надо или текст ввести в поле или нажать на кнопку...
А делать вложенные - тоже не дело. Скрипт при нахождении правильного IF должен выполнить какое то действие, а потом продолжить работу, а при вложенной структуре все упирается в конец -
@Putevka said in IF ELSEIF ELSEIF ELSEIF ELSE - как сделать?:
Собственно вопрос в заголовке топика.
Если я делаю без ELSE вообще, то скрипт просто пролетает мимо единственного правильного IF.
Писать отдельным кодом тоже проблема - там при правильном условии IF надо или текст ввести в поле или нажать на кнопку...
А делать вложенные - тоже не дело. Скрипт при нахождении правильного IF должен выполнить какое то действие, а потом продолжить работу, а при вложенной структуре все упирается в конецэм, делайте множество if идущих друг за другом и break внутри что бы последующие if не срабатывали
-
@Putevka said in IF ELSEIF ELSEIF ELSEIF ELSE - как сделать?:
а что, BREAK для IF будет работать. Вроде как в инструкции написано, только для циклов
Поместите все условия в условие "If"
trueи используйте действие "Break" для выхода из него
Тестовый скрипт: 2952.xml
-
@Putevka said in IF ELSEIF ELSEIF ELSEIF ELSE - как сделать?:
@Fox
без вложенности, то есть без ELSE скрипт вообще пролетает мимо истинного IF, не выполнив заданного действияесли ваше условие не срабатывает, значит условие возвращает "false"
-
@Fox
Речь об конструкции без ELSE. Так в том то и дело, если делать пошагово, выполняя по одному действию, то все работает правильно, то есть из трех заданных IF одно правильное выполняется. А если нажать на кнопку Запустить скрипт, то тогда пролетает мимо -
@Putevka said in IF ELSEIF ELSEIF ELSEIF ELSE - как сделать?:
@Fox
Речь об конструкции без ELSE. Так в том то и дело, если делать пошагово, выполняя по одному действию, то все работает правильно, то есть из трех заданных IF одно правильное выполняется. А если нажать на кнопку Запустить скрипт, то тогда пролетает мимоЗначит смотрите содержимое переменных
-
@Putevka С такими (автоматическими) селекторами у вас никогда ничего нормально работать не будет, их нужно писать самому. Авто селекторы зависят от порядка элементов на странице, но он может менять даже на разном разрешение, при появление других элементов на странице и тд Пишите селекторы сами, на форуме и в сети куча мануалов по css и xpath селекторам и большего ума там не нужно
-
@Putevka said in IF ELSEIF ELSEIF ELSEIF ELSE - как сделать?:
тогда попутный вопрос. Какой селектор более надежный и стабильный css, match или xpath ?
match не надежный, это просто поиск по коду страницы
css,xpath - одинаково надежны, тут как составите.xpath - более функционален, но нужно писать больше букв, чем в css. Я в основном использую css, когда его не хватает тогда xpath
-
@Fox
Предложенная вами схема будет работать только при одном условии, что первый IF = true должен быть только на нулевом уровне, то есть он не может быть вложенным по отношению другим IF. Потому что когда срабатывает BREAK, то он выбивает все вышестоящие условия IF и логика скрипта нарушается...
Тут не мешало бы присвоить числовой аргумент для BREAK -
@Putevka said in IF ELSEIF ELSEIF ELSEIF ELSE - как сделать?:
@Fox
Предложенная вами схема будет работать только при одном условии, что первый IF = true должен быть только на нулевом уровне, то есть он не может быть вложенным по отношению другим IF. Потому что когда срабатывает BREAK, то он выбивает все вышестоящие условия IF и логика скрипта нарушается...
Тут не мешало бы присвоить числовой аргумент для BREAKДа, можно было сделать так. Либо использовать доп переменную в условиях, значение которой меняется при срабатывании условия. Такой вариант более понятно выглядит при использовании циклов с вызовом функций, с числовым break в этом случае не очень понятно из какого условия или цикла оно выведет точку выполнения

