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

Фотография

Верхняя часть страницы сайта не реагирует на команды selenium.


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

#1 Yurgen

Yurgen

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

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Юрий.

Отправлено 21 мая 2020 - 06:12

На сайте https://obitel-minsk.ru, у меня возникла проблема.
Выбрав в самом верху раздел "Лавка", кликнул на нее, в выпадающем меню выбрал раздел "Изделия", и попал на искомую страницу. В самом верху, блок элементов, это каталог товаров, строка поисковика, регистрация, и т.д. не кликабельны.
В чем может быть причина?
  • 0

#2 BabyRoot

BabyRoot

    Специалист

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


Отправлено 21 мая 2020 - 07:21

Указывайте локаторы что используете, элементов с которыми работаете.


  • 0

#3 Yurgen

Yurgen

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

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Юрий.

Отправлено 21 мая 2020 - 07:52

Добрый день. После того, как прокликал Лавку и Изделия, вышел на искомую страницу, и использовал предложенный Вами локатор.
driver.FindElement(By.xpath("//nav//li//span[.='Утварь']")).click;
Но не реагирует.
Я внимательно прошелся по devtools, и нашёл iframe, он находится ниже в дереве, но может он и блокирует нормальную работу страницы, попробую открыть сначала Frame, как Вы объясняли.
  • 0

#4 BabyRoot

BabyRoot

    Специалист

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


Отправлено 21 мая 2020 - 08:36

Попробуйте такой:

//nav//li//span[.='Утварь']/..

 


  • 0

#5 Yurgen

Yurgen

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

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Юрий.

Отправлено 21 мая 2020 - 13:24


Попробуйте такой:

//nav//li//span[.='Утварь']/..
Попробовал, нет не реагирует.
Не реагирует ни один элемент, на верхней панели.
Кликал строку поиска,
driver.FindElement(By.xpath("//*[@id=\"search\"]".sendKeys,
Так же, безрезультатно. Не понимаю, в чем дело.
  • 0

#6 BabyRoot

BabyRoot

    Специалист

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


Отправлено 21 мая 2020 - 13:38

Потому что надо одинарные кавычки, как я указал.


  • 0

#7 Yurgen

Yurgen

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

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Юрий.

Отправлено 21 мая 2020 - 14:26

Пробовал и одинарный, не помогает.
  • 0

#8 Yurgen

Yurgen

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

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Юрий.

Отправлено 21 мая 2020 - 14:27

Точнее, одинарные
  • 0

#9 BabyRoot

BabyRoot

    Специалист

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


Отправлено 21 мая 2020 - 14:51

Попробуйте так:

WebElement element = driver.findElement(By.xpath("//nav//li//span[.='Утварь']/.."));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);

 


  • 0

#10 Yurgen

Yurgen

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

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Юрий.

Отправлено 21 мая 2020 - 15:15

Попробовал, не открывается.
  • 0

#11 Yurgen

Yurgen

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

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Юрий.

Отправлено 21 мая 2020 - 15:48

Я проверил элемент, на наличие его на странице, и в консоли появился ответ 0, таких элементов нет.
System.out.println(driver.FindElements(By.xpath("//nav//li//span[.='Утварь']/..")).size());
  • 0

#12 BabyRoot

BabyRoot

    Специалист

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


Отправлено 21 мая 2020 - 16:15

Очень странно

Прикрепленный файл  2020-05-21_19-14-26.png   495,69К   0 Количество загрузок:


  • 0

#13 Yurgen

Yurgen

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

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Юрий.

Отправлено 21 мая 2020 - 16:23

Ну у меня ничего не открывается. Пробовал, ничего не получается.
  • 0

#14 BabyRoot

BabyRoot

    Специалист

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


Отправлено 21 мая 2020 - 16:36

У вас когда закладка с этим магазином открылась, вы же на неё драйвером переключились?


  • 0

#15 Yurgen

Yurgen

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

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Юрий.

Отправлено 21 мая 2020 - 16:43

Ну да, всё шло по сценарию, я прокликал все верхние папки, и когда он дошёл до папки Лавка, ступор произошёл во вкладке изделия, он ничего не может там прочитать.
Методом сайз я проверил наличие элементов, и нашел там только поисковик, он отображается в консоли.
Я пробовал кликать на те же папки снизу, в данной вкладке внизу тоже перечень тех же элементов, там они находятся во frame. Мне кажется корень зла в этом, хотя могу ошибаться.
Селениум выдаёт на финише, что не может найти элемент.
Во всех вкладках сайта Селениум читает все, проблемы только здесь...
  • 0

#16 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 21 мая 2020 - 18:47

Дело в том, что там текст элемента не "Утварь", он содержит ещё много пробелов в конце.

 

Поэтому надо от них избавиться, например вот так:

driver.findElement(By.xpath("//nav//li//span[normalize-space(.)='Утварь']/..")).click();

  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#17 Yurgen

Yurgen

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

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Юрий.

Отправлено 21 мая 2020 - 19:13

Спасибо большое. Обязательно попробую.
  • 0

#18 Yurgen

Yurgen

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

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Юрий.

Отправлено 22 мая 2020 - 14:38


Дело в том, что там текст элемента не "Утварь", он содержит ещё много пробелов в конце.

Поэтому надо от них избавиться, например вот так:

driver.findElement(By.xpath("//nav//li//span[normalize-space(.)='Утварь']/..")).click();
Попробовал, все равно не открывается.
  • 0

#19 Yurgen

Yurgen

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

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Юрий.

Отправлено 23 мая 2020 - 17:30

Уважаемые профессионалы. Спасибо за помощь, благодаря Вам все получилось, все запустилось.
Всего Вам самого наилучшего.
  • 0


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

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