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

Фотография

Selenium не находит локаторы


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

#1 Globator

Globator

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

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

Отправлено 01 декабря 2013 - 17:10

Всем привет.Начал разбираться с Selenium WebDriver, но уже на старте возникла проблема: не получается кликнуть в Google по кнопке "Мне повезёт".
Проблема в том , что Селениум не находит эту кнопку по "class/id/Xpath".Получилось только с использованием поиска по атрибуту "name";
Ребята подскажите пожалуйста в чём проблема...В скрине приложил исходный код + ошибку которую выводит Eclipse.

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

  • Прикрепленный файл  attach.bmp   2,44МБ   31 Количество загрузок:

  • 0

#2 Petrov.Sergey

Petrov.Sergey

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

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 01 декабря 2013 - 17:26

Всем привет.Начал разбираться с Selenium WebDriver, но уже на старте возникла проблема: не получается кликнуть в Google по кнопке "Мне повезёт".
Проблема в том , что Селениум не находит эту кнопку по "class/id/Xpath".Получилось только с использованием поиска по атрибуту "name";
Ребята подскажите пожалуйста в чём проблема...В скрине приложил исходный код + ошибку которую выводит Eclipse.

Потому что ID = "gbqfsb", а не "gbqfbb".

Не используйте собственную память. Человеческая память обладает свойством подводить. Используйте копипаст.
  • 0
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#3 Globator

Globator

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

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

Отправлено 01 декабря 2013 - 17:29

Сори...Ошибся когда делал скрин. Но подстановка правильного id не привела к успеху(((
  • 0

#4 stmark

stmark

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

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 01 декабря 2013 - 17:42

Всем привет.Начал разбираться с Selenium WebDriver, но уже на старте возникла проблема: не получается кликнуть в Google по кнопке "Мне повезёт".
Проблема в том , что Селениум не находит эту кнопку по "class/id/Xpath".Получилось только с использованием поиска по атрибуту "name";
Ребята подскажите пожалуйста в чём проблема...В скрине приложил исходный код + ошибку которую выводит Eclipse.


Подозреваю, что стоит последняя версия браузера. Попробуй более старую.
У Webdriver'ов часто возникает несовместимость с новыми версиями браузеров.
  • 0

#5 Globator

Globator

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

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

Отправлено 01 декабря 2013 - 18:11


Всем привет.Начал разбираться с Selenium WebDriver, но уже на старте возникла проблема: не получается кликнуть в Google по кнопке "Мне повезёт".
Проблема в том , что Селениум не находит эту кнопку по "class/id/Xpath".Получилось только с использованием поиска по атрибуту "name";
Ребята подскажите пожалуйста в чём проблема...В скрине приложил исходный код + ошибку которую выводит Eclipse.


Подозреваю, что стоит последняя версия браузера. Попробуй более старую.
У Webdriver'ов часто возникает несовместимость с новыми версиями браузеров.


Не помогло(((
  • 0

#6 stmark

stmark

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

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 01 декабря 2013 - 18:18

Переформулирую: установи firefox 20.01 и webdriver 2.31 и попробуй.
  • 0

#7 Petrov.Sergey

Petrov.Sergey

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

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 01 декабря 2013 - 18:31

Переформулирую: установи firefox 20.01 и webdriver 2.31 и попробуй.

А Вас не смутило, что ТС использует HtmlUnitDriver, а не FirefoxDriver?

Вопрос к ТС-у: не пробовали использовать другой драйвер (например, FirefoxDriver или ChromeDriver)?
  • 2
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#8 stmark

stmark

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

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 01 декабря 2013 - 18:40

А Вас не смутило, что ТС использует HtmlUnitDriver, а не FirefoxDriver?


Да, действительно не приметил слона :)
  • 1

#9 Globator

Globator

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

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

Отправлено 01 декабря 2013 - 19:23

Спасибо друзья за помощь.Заработало... :clapping:
Версию фаерфокса оставил последнию (25.0.1), а вот версию WebDrivera пришлось понизить до 2.31.
Использовал FirefoxDriver , так как HtmlUnitDriver не заработал...Следовательно вопрос - для чего он нужен?
  • 0

#10 leipreachan

leipreachan

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

  • Members
  • PipPip
  • 95 сообщений
  • Город:Москва

Отправлено 09 декабря 2013 - 15:09

Спасибо друзья за помощь.Заработало... :clapping:/>
Версию фаерфокса оставил последнию (25.0.1), а вот версию WebDrivera пришлось понизить до 2.31.
Использовал FirefoxDriver , так как HtmlUnitDriver не заработал...Следовательно вопрос - для чего он нужен?

для страниц без множества ajax. Статику с его помощью легко и быстро можно проверять
  • 0

#11 barancev

barancev

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

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


Отправлено 13 декабря 2013 - 10:56

а вот версию WebDrivera пришлось понизить до 2.31.

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

#12 kimandrew

kimandrew

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

  • Members
  • Pip
  • 32 сообщений
  • ФИО:Ким Андрей
  • Город:Калининград

Отправлено 27 декабря 2013 - 15:25

Добрый день всем. Чтобы не плодить темы, отпишу здесь.

На тестируемой странице есть wysiwyg который не догрузившись мешает драйверу выполнять шаги.

Можно ли сделать так чтобы firefox к примеру сохранял кэш и каждый новый тест был с кэшем. Чтобы wysiwyg быстрее подгружался и не мешал выполнять другие шаги.
  • 0

#13 barancev

barancev

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

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


Отправлено 13 января 2014 - 10:28

Добрый день всем. Чтобы не плодить темы, отпишу здесь.

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

#14 fenixx

fenixx

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

  • Members
  • Pip
  • 29 сообщений
  • Город:Москва

Отправлено 28 марта 2014 - 06:56

Метод FindElementsByXPath() не находит по селектору.

Использую библиотеки Seleniuma WebDriver.dll и WebDriver.Suppor.

Пробовал разные версии:

 3.41

 3.40

 3.34

 

Куски кода C#

 RemoteWebDriver DriverIE;

 DriverIE = new InternetExplorerDriver();

 var MultiSel = DriverIE.FindElementsByXPath(@"//select[@multiple]/.."); // Находим всех родителей элемента select с атрибутом multiple

 Count = 0 - делаю вывод что не находит ни одного элемента. Или я ошибаюсь?

 Но на странице точно есть такой элемент.

 

HTML

Элемент который ищу. Так он отображается в коде браузера IE v.11

<select name="Speakers" class="chzn-select span8 span8 chzn-done loaded" id="Speakers" style="display: none;" multiple="" data-placeholder="Докладчики"></select>

 

Подскажите в чем дело и как это обойти можно?

Если нужна еще информация спрашивайте.


  • 0

#15 BabyRoot

BabyRoot

    Специалист

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


Отправлено 28 марта 2014 - 07:06

Как вы проверяете свои запросы?

FirePath находит элементы?

Вы пытаетесь найти сами селекты, а не их родители...


  • 0

#16 fenixx

fenixx

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

  • Members
  • Pip
  • 29 сообщений
  • Город:Москва

Отправлено 28 марта 2014 - 07:26

Как вы проверяете свои запросы?

FirePath находит элементы?

Вы пытаетесь найти сами селекты, а не их родители...

Через FirePath.

FirePath находит без проблем.

Родители пытаюсь найти.


  • 0

#17 vmaximv

vmaximv

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

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 28 марта 2014 - 07:42

Элемент который ищу. Так он отображается в коде браузера IE v.11

Для начала прочитайте это, и сделайте даунгрейд ИЕ.

This driver has been tested with IE 6, 7, 8, 9, and 10 on appropriate combinations of XP, Vista and Windows 7.


  • 1

#18 fenixx

fenixx

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

  • Members
  • Pip
  • 29 сообщений
  • Город:Москва

Отправлено 28 марта 2014 - 07:58

 

Элемент который ищу. Так он отображается в коде браузера IE v.11

Для начала прочитайте это, и сделайте даунгрейд ИЕ.

This driver has been tested with IE 6, 7, 8, 9, and 10 on appropriate combinations of XP, Vista and Windows 7.

 

Хоть и не тестировалось под IE v.11 но этот код отрабатывает правильно:

 var NotMultiSel = DriverIE.FindElementsByXPath(@"//select[not(@multiple)]/..");

 Count = 1; На странице находится как раз один такой select.

 

Не понятно почему этот не отрабатывает:

 var MultiSel = DriverIE.FindElementsByXPath(@"//select[@multiple]/..");

 

Откат IE до v.10 не помог

 

Удалось обойти проблему так:

var MultiSel = DriverIE.FindElements(By.XPath(@"//select[not(@multiple)!='false']/.."));

 

 


  • 0


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

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