Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Не могу залокейтить элементы. Окно авторизации FB


(Maxibello) #1

Всем привет.

У меня не получается залокейтить поля окна авторизации Facebook.
Пример окна

Пытался по ID $(’#email’), получаю ошибку

Error: <![EX[["Tried to get element with id of \"%s\" but it is not present on the page.","#email"]]]>

(vmaximv) #2

Вариант 1: элемент находится во фрейме/фреймах
Вариант 2: в момент поиска элемент отсутствует на странице

ЗЫ: Указывайте все инструменты, которые используете - $(’#email’) это не типично для webdriver.


(Maxibello) #3

Пройдите по ссылке

Я не вижу там фреймов.

$(’#email’) - это поиск по css селектору в консоли браузера


(vmaximv) #4

Я б рад - но все что я вижу по “ссылке” это

<hrml><head/><body/></html>

(Maxibello) #5

А, понял.
Окно можно увидеть, например, если зайти на сайт championat.com в правом верхнем углу нажать на значок-иконку юзера и нажать на значок фейсбука. Выглядит оно как на скриншоте.


(vmaximv) #6

Значид что то не так делаете. У меня в консоли все чудно находит - и в ФФ и в Хроме и в Опере.

$("email")
<input type="text" class="inputtext" id="email" name="email" value>

(Maxibello) #7

@vmaximv, можете поподробнее написать, как вы находите, скажем, поле для ввода email?


(vmaximv) #8
  1. Зашел он страничку
  2. Навел на человечка
  3. Кликнул на букву f
  4. По филду email ПКМ
  5. Выбрал Inspect Element
  6. Кликнул на таб Console
  7. Ввел $(“email”)

Еще это проверьте http://stackoverflow.com/questions/20280255/google-chrome-jquery-content-script-on-facebook


(Maxibello) #9

@vmaximv, cпасибо, работает. Я просто всегда считал, что поиск по id предваряется символом ‘#’, а без него ищется по тегу.

По поводу ссылки: у меня в хроме нет второго дропдауна, где я мог бы выбрать контекст.


(vmaximv) #10

$("") - это конструкция jQuery, и таки да - в нем надо # для поиска по id.
А фейсбуке там своя jQueryподобная либа, если бы вы прочитали ссылку, которую я дал - было бы понятно:


(Maxibello) #11

Ок, буду использовать xpath


(Stanislav Panov) #12

Как сказал vmaximv, $ на фэйсбуке не имеет никакого отношения к jQuery.
Почему бы не воспользоваться старым добрым document.getElementById(‘email’)


(Maxibello) #13

@stan_panov, я пишу тесты в Codeception.