Перейти к содержимому

Фотография

selenium [error] Element not found, хотя кнопка FIND находит элемент

ошибка

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 lexnekr

lexnekr

    Новый участник

  • Members
  • Pip
  • 4 сообщений

Отправлено 07 декабря 2015 - 11:15

На странице есть ссылка с длинным текстом, пробелами и табами перед началом текста.

Т.е. что-то такое:

              Бла Бла 34234 вав Бла бла.

 

 

Создаю в seleniun IDE условие для target link= со всем этим текстом (с пробелами, табами и пр)

 

Кнопка find находит на странице этот блок. А вот запуск проигрывания сценария выводит ошибку 

[error] Element link=Бла Бла 34234 вав Бла бла. not found

 

Подскажите люди добрые в чём не прав и как победить вражеский селениум дабы дружественен он стал и помог в работе непростой (с селениумом только начинаю работать, первоначально текст ссылки получен записью сценария на страинце, но при проигрывании выдавал ту же ошибку).

 

 

 

P.S. "Execute this command X" тоже благополучно выполняется. Но запуск всего сценария упорно падает именно на этой шаге.


  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 07 декабря 2015 - 12:13

Ещё раз - надо копировать текст линка вашего элемента, и тогда селениум найдёт что вам надо.

Где и как он расположен - это не относится к построению линка.

И второе, возможно, что страница не успела загрузиться и этого элемента не было. Поставьте для начала небольшую паузу перед поиском этого элемента.


  • 0

#3 lexnekr

lexnekr

    Новый участник

  • Members
  • Pip
  • 4 сообщений

Отправлено 07 декабря 2015 - 13:15

Не сказать, чтобы помогли. Скорее даже не помогли.

ОК, каков вопрос, таков ответ.

Пошёл дальше мучиться.

 

 

 

Поставьте для начала небольшую паузу перед поиском этого элемента.

А вот подскажите тогда как.

Дело в том, что страница загрузилась 100%. Поиск ряда простых элементов на ней для очистки совести проходит успешно.

После этого я совершаю клик по области, которая вызывает JS событие (один из блоков контента меняет свой visible с none на block). И проблемный кусок на котором всё падает с ошибкой находится в первично скрытой области. ClickanWait навсегда оставляет селениум в бездействии, т.к. страница-то не перезагружается.

Может я как-то могу задать таймаут в явном виде в selenium IDE?


  • 0

#4 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 07 декабря 2015 - 13:31

Может я как-то могу задать таймаут в явном виде в selenium IDE?

 

 

pause, в Target ставите время в миллисекундах


  • 0

#5 lexnekr

lexnekr

    Новый участник

  • Members
  • Pip
  • 4 сообщений

Отправлено 07 декабря 2015 - 13:48

Определённо дело не только (не столько) в паузе. Поставил 3000 - результат прежний.

Даже assertText, подсказанный браузером через плагин находится.

А идущий следом click падает с ошибкой.

Прикрепленные файлы

  • Прикрепленный файл  1.PNG   2,79К   0 Количество загрузок:

  • 0

#6 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 07 декабря 2015 - 14:56

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


  • 0

#7 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 07 декабря 2015 - 15:02

У меня были похожие проблемы с текстом ссылок. В итоге по возможности не использую поиск через link, особенно у "сложных" гиперссылок.


  • 0

#8 lexnekr

lexnekr

    Новый участник

  • Members
  • Pip
  • 4 сообщений

Отправлено 08 декабря 2015 - 07:50

Коллеги, огромное спасибо за то, что просто не послали после первых строк!

 

Решение первичной проблемы найдено.

(ни одна из ваших версий не оказалась верна, хотя рекомендация с паузой пригодилась).

Дело в том, что элементы списка на странице имели target="_blank".

При этом просто в лисе когда я ходил как человек они открывались в новой вкладке всё было ОК, а вот при запуске сценария в Селениуме происходила блокировка новых всплывающих окон в FF!

Когда я руками разрешил всплывающие окна для конкретного сайта (в браузере), то сценарий заработал!

 

Но теперь возникла новая сложность.

Заметил, что при записи сценария в IDE для новой вкладки записывается событие

Command = selectWindow

Target = name=60486

Как понять откуда этот ID взялся? Вроде бы в УРЛ его нет. Просто иначе клик по ссылке происходит но дальнейшие действия на странице похоже нет (проверить решил простейшим поиском по Title в целях проверки и он упал с ошибкой). Словно отладчик остаётся на старой странице вместо перехода по новооткрытой.

 

P.S. Можно конечно сделать Open того УРЛа, что по ссылке находится (я его знаю), но это на костыль похоже. Я же его именно ЗНАЮ, а не в сценарии получил.


  • 0



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных