Цикл начинает считать через 1



  • Я начинающий в BAS. Два дня пытался самостоятельно решить проблему, никак. Решил обратиться к коммьюнити.
    Суть вопроса такая:
    Создаю простейщий цикл по всем элементам в таблице. И в цикле перебираю их и кликаю. Все в порядке до тех пор, пока после клика ссылка не откроется в новой вкладке. После того, как вкладка закрывается, клики начинают идти через один.
    Исходная страница не меняется. Страница в новой вкладке имеет iframe.

    Может ли как то сбиваться счетчик. Хотя по логу я вижу, что все идет по порядку. Сбивается только xpath.

    Кто может. намекните, если знаете. Я не спрашиваю конкретного решения, а хотя бы в какую сторону копать.

    По переменным я смотрел. Все идет по порядку. условно CYCLE_INDEX=1 / XPATH_1
    CYCLE_INDEX=2 / XPATH_2
    CYCLE_INDEX=3 / XPATH_3

    После клика и открытия новой вкладки и закрытия, получается так:

    CYCLE_INDEX=4 / XPATH_5
    CYCLE_INDEX=5 / XPATH_7
    CYCLE_INDEX=6 / XPATH_9

    Почему пропускаются нечетные XPATH. Код исходной страницы не меняется.



  • @ac2je said in Цикл начинает считать через 1:

    CYCLE_INDEX=3 / XPATH_3

    А ты икспаз считаешь так XPATH_CYCLE_INDEX ?



  • Screenshot_4.jpg

    Вот цикл. CI2-CI4 я просто вывел в лог следующие три XPATH после текущего (Чтобы попобовать понять где ошибка. Они на самом деле в процессе не участвуют). Все XPATH и все CURRENT_ELEMENT_XML, как текущий, так и следующие определяет корректно. Но потом просто прыгает на другой и все.

    Я уже думал может что то с XPATH, пробовал MATCH. То же самое.

    То же самое на другом сайте работает корректно.
    Косяк происходит именно после открытия вкладки, нахождения элемента и клика по нему, и закрытии вкладки. После этого счетчик начинает скакать по нечетным.

    Т.е. что то происходит в момент открытия вкладки, клика в ней, и закрыти вкладки. Ума не приложу там всего два действия стандартных. Переменные там никак не участвуют.

    P.S. Почему я про вкладку говорю и грешу на неё. Потому что я прогнал цикл без "открытия вкладки/клика/закрытия вкладки".
    Так вот в этом случае ничего не ломается. Все элементы проходятся поледовательно.



  • @ac2je потому что ты сам прибавляешь к цикл индек + 1 и потом ищешь именно по С12 зачем то.



  • @Bigma said in Цикл начинает считать через 1:

    @ac2je потому что ты сам прибавляешь к цикл индек + 1 и потом ищешь именно по С12 зачем то.

    Screenshot_5.jpg

    Да нет же. CI2,CI3 и CI4 я только вчера туда добавил. Только для вывода в лог. Посмотреть на следующие после текущего XPATH-ы. После того, как два дня сидел с этой проблемой. И без них все работает криво.

    Клик только по основной CYCLE_INDEX



  • тестовый скрипт скинь гляну


Log in to reply
 

  • 29
  • 7
  • 3
  • 5
  • 4
  • 21
  • 4
  • 1