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

Фотография

Как увидеть весь исходный код?


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

#1 degradator

degradator

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

  • Members
  • Pip
  • 59 сообщений
  • ФИО:смиромсерг

Отправлено 10 июня 2012 - 13:00

Здравствуйте!
Сегодня узнал что селениум не видит весь исходный код в браузере FireFox.
Кратко о истории болезни - страницу смотрю через оперу, там открываю исходный код страницы и имею такую беду - <div class="a" title="b">. Пишу в netBeans
String clasS = driver.findElelment(by.xpath("//div")).getAtribute(class);
System.out.println(clasS);
String title = driver.findElelment(by.xpath("//div")).getAtribute(title);
System.out.println(title)

И получаю на выходе "а". Тоесть титл он не видит. Тогда пишу

String source = driver.getSource;
System.out.println(source);

На выходе получаю много чего, но только титл не получаю. Тогда лезу в мозиллу, и смотрю там свои локаторы - нет там титл. А в fireBug есть какой-то Сценарий, на него нажимаю и получаю сообщение - для того чтобы увидеть полный исходный код нужно перегрузить страницу - перегружаю по ссылке в сообщении - и получаю мой титл. Как теперь это сделать через Selenium?

Наверно неправильно сформулировал вопрос - getSource() насколько я понимаю открывает исходный код выделенного элемента - конкретнее он выделяет всю страницу, и просматривает получившийся код. А как просмотреть исходный код страницы, чтобы увидеть скрытые элементы?
  • 0
Мой сайт - Травиан бот :)

#2 owasp

owasp

    Активный участник

  • Members
  • PipPip
  • 87 сообщений

Отправлено 10 июня 2012 - 20:04

Вы не можете получить тег "a", ведь вы ищите тег первый тег "div" среди всех: driver.findElelment(by.xpath("//div")).

А в fireBug есть какой-то Сценарий, на него нажимаю и получаю сообщение - для того чтобы увидеть полный исходный код нужно перегрузить страницу - перегружаю по ссылке в сообщении - и получаю мой титл.

fireBug - это отладчик для JavaScript. И на вкладке "Сценарий" там отображается JavaScript код, а не разметка (но это не суть).
Вероятно, элементы на вашей странице создаются динамически, и пока JavaScript не отработал, их нет, и title нет. И fireBug показывает разметку после отработки JavaScript (результат отладки), а браузеры показывают исходное состояние страницы (первоначальное, до обработки JavaScript).

Ищите по форуму темы:
  • Ajax + Selenium (это не то, что нужно, но близко по теме)
  • Selenium и ожидание загрузки страницы (это тоже не то, что нужно, но близко)
  • Selenium и ожидание формирование страницы (вот это то, что нужно)
  • ...

А как ожидать появления элементов, написано в справке.
Раздел "Неявные ожидания": http://selenium2.ru/...waits-reference
  • 1

#3 degradator

degradator

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

  • Members
  • Pip
  • 59 сообщений
  • ФИО:смиромсерг

Отправлено 13 июня 2012 - 06:05

Вы не можете получить тег "a", ведь вы ищите тег первый тег "div" среди всех: driver.findElelment(by.xpath("//div")).


Это я тут для примера написал. чтобы тот кто может помочь не испугался длинного кода. :)
Спасибо за ответ, буду знать куда смотреть. Можно ли кстати использовать selenium RC для решения проблемы? (никогда не работал с RC)
  • 0
Мой сайт - Травиан бот :)


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

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