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

Selenium WebDriver: полное руководство
онлайн, начало 19 октября
Логи как инструмент тестировщика
онлайн, начало 22 октября
Школа для начинающих тестировщиков
онлайн, начало 122 октября
Тестирование REST API
онлайн, начало 22 октября
Фотография

не обновляется код страницы в pageSource


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

#1 mraklbrw

mraklbrw

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

  • Members
  • Pip
  • 12 сообщений
  • ФИО:Сорокин Денис

Отправлено 26 Апрель 2018 - 15:57

Добрый день.
Есть веб-страница, на которой периодически (3-10 сек) меняются данные.
Получаю исходный код страницы с помощью pageSource, однако остаётся неизменным с момента загрузки страницы.
Почему так происходит?
Перезагружать страницу долго и придётся слишком часто.


  • 0

#2 Little_CJIOH

Little_CJIOH

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 176 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 26 Апрель 2018 - 20:22

потому, что если 

a = 5

b = a

a =7

то b в этом месте нифига не 7, а все еще 5.

 

Ищите какой-нибудь признак обновления страницы и по нему перезагружайте pageSource


  • 0

#3 mraklbrw

mraklbrw

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

  • Members
  • Pip
  • 12 сообщений
  • ФИО:Сорокин Денис

Отправлено 26 Апрель 2018 - 20:32

А как можно перезагрузить pageSource?

Просто присвоить строке pageSource? Я это делаю (в цикле - раз в несколько секунд). Не меняется.

Или нужно принудительно обновить страницу?


  • 0

#4 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 057 сообщений
  • ФИО:Роман

Отправлено 27 Апрель 2018 - 08:16

попробуйте руками через девтулс, посмотрите где там и что меняется


  • 0

#5 Little_CJIOH

Little_CJIOH

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 176 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 27 Апрель 2018 - 08:18

Вариант номер 2

page и не меняется, меняется динамический контент генерируемый скриптами. И его в pageSource вы не увидите впринципе


  • 0

#6 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 057 сообщений
  • ФИО:Роман

Отправлено 27 Апрель 2018 - 09:44

 

Вариант номер 2

page и не меняется, меняется динамический контент генерируемый скриптами. И его в pageSource вы не увидите впринципе

динамический контент всё равно будет в доме


  • 0

#7 Snap

Snap

    Специалист

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


Отправлено 27 Апрель 2018 - 09:51

Да, хотелось бы понять, что за конкретно данные.
Например, если у меня поменялось свойство у элемента или данные на странице, изменяемые скриптом, то pageSource меняется.
  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.


#8 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 057 сообщений
  • ФИО:Роман

Отправлено 27 Апрель 2018 - 10:38

может у него данные во фрейме меняются, а пейджсорс не берёт его


  • 0

#9 baxatob

baxatob

    Опытный участник

  • Members
  • PipPipPipPip
  • 258 сообщений
  • ФИО:Юрий
  • Город:Riga

Отправлено 27 Апрель 2018 - 10:48

А что за данные? Не проще ли их получать через API?


  • 0

#10 mraklbrw

mraklbrw

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

  • Members
  • Pip
  • 12 сообщений
  • ФИО:Сорокин Денис

Отправлено 27 Апрель 2018 - 11:46

investing - котировки акций, изменяются довольно часто.

Данные в исходном коде странице изменяются и видны - проверял.

API вроде бы нет.


  • 0

#11 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 057 сообщений
  • ФИО:Роман

Отправлено 27 Апрель 2018 - 12:21

значит надо сохранить код из страницы руками в один файл

 

и код который возвращает пейджсорс сохранить в другой файл

 

и просто сравнить два файла


  • 0

#12 mraklbrw

mraklbrw

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

  • Members
  • Pip
  • 12 сообщений
  • ФИО:Сорокин Денис

Отправлено 27 Апрель 2018 - 16:17

Да, я сравнивал.

У меня есть цикл - в нём каждые 3 сек. получаю pageSource.

В первый раз, когда я его считываю - он тот же, что и руками проверяю.

Потом он такой же (на следующих итерациях цикла), хотя если смотреть вручную - он меняется.


  • 0

#13 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 057 сообщений
  • ФИО:Роман

Отправлено 27 Апрель 2018 - 16:58

Значит надо заново объявить тот вебелемент перед тем как запрашивать pagesource
  • 0

#14 mraklbrw

mraklbrw

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

  • Members
  • Pip
  • 12 сообщений
  • ФИО:Сорокин Денис

Отправлено 28 Апрель 2018 - 19:29

Я не ищу никакой элемент.

Я просто через каждые 3 секунды получаю pageSource, который должен меняться.

Это значит - что надо каждые 3 секунды обновлять страницу, чтобы Selenium перезагрузил код страницы?


  • 0

#15 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 057 сообщений
  • ФИО:Роман

Отправлено 29 Апрель 2018 - 07:35

Ну а пейджсорс же не из воздуха получаешь, а из конкретного элемента который был найден ранее?
  • 0

#16 mraklbrw

mraklbrw

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

  • Members
  • Pip
  • 12 сообщений
  • ФИО:Сорокин Денис

Отправлено 29 Апрель 2018 - 10:58

Не из элемента, а это код всей страницы.


  • 0

#17 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 057 сообщений
  • ФИО:Роман

Отправлено 29 Апрель 2018 - 11:15

Надо объект обновить для которого вызывается pagesource
  • 0

#18 Snap

Snap

    Специалист

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


Отправлено 29 Апрель 2018 - 15:42

Надо объект обновить для которого вызывается pagesource

Я тоже склонен думать к этому. Может переменная или ссылка на нее не обновляется? Что если попробовать использовать вторую переменную и сравнить?
  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.


#19 mraklbrw

mraklbrw

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

  • Members
  • Pip
  • 12 сообщений
  • ФИО:Сорокин Денис

Отправлено 29 Апрель 2018 - 17:53

Ну так для этого придётся обновить саму страницу, т.к. я получаю код страницы, а не отдельного элемента.

А она долго обновляется - 8-12 сек, поэтому это не подходит.


  • 0

#20 Snap

Snap

    Специалист

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


Отправлено 30 Апрель 2018 - 12:02

Покажите лучше часть кода, где вы в цикле каждые 3 секунды считываете pageSource, может там какая-то ошибка.
  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.



Selenium 2.0: стартовый уровень
онлайн, начало 9 ноября
Программирование на Java для тестировщиков
онлайн, начало 12 октября
Автоматизация функционального тестирования
онлайн, начало 5 октября
Selenium WebDriver: полное руководство
онлайн, начало 19 октября



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

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

Яндекс.Метрика
Реклама на портале