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

Фотография

Теряется фокус элемента

python selenium

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

#1 cenzor

cenzor

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

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Ломаков Константин Александрович

Отправлено 13 ноября 2017 - 03:44

Здравствуйте.

Не могу понять логику, почему так происходит, прошу подсказать.

Ищу элемент:

comment = driver.find_elements_by_xpath("//textarea[@placeholder = 'some text']")

пытаюсь вставить текст

comment[0].send_keys('bla bla bla...')

пишет:

selenium.common.exceptions.WebDriverException: Message: unknown error: cannot focus element

Пробую после поиска делать по нему клик:

comment[0].click()

а потом вставить текст

comment[0].send_keys('bla bla bla...')

вываливается совсем другое исключение:

selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document

Как мне всё-таки вставить текст?

Спасибо.

 

P.S.: в качестве драйвера использую chrome headless


  • 0

#2 Spock

Spock

    Профессионал

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

Отправлено 13 ноября 2017 - 08:07

возможно при клике на элементе - он меняется на другой элемент

 

тогда надо кликать по первому элементу, дожидаться появления поля ввода и вводить текст уже туда


  • 0

#3 cenzor

cenzor

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

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Ломаков Константин Александрович

Отправлено 13 ноября 2017 - 09:27

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

#4 Spock

Spock

    Профессионал

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

Отправлено 13 ноября 2017 - 09:31

а в обычном хроме проходит тест?


  • 0

#5 TatyanaV

TatyanaV

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

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 13 ноября 2017 - 13:46

У вас перед заполнением поля - обновление страницы не происходит, случайно?


  • 0

#6 cenzor

cenzor

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

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Ломаков Константин Александрович

Отправлено 14 ноября 2017 - 00:22

У вас перед заполнением поля - обновление страницы не происходит, случайно?

Нет.

Всем спасибо. Проблема решена.

Получилось вот таким способом:

comment = driver.find_elements_by_xpath("//textarea[@placeholder = 'some text']")
comment[0].click()
comment = driver.find_elements_by_xpath("//textarea[@placeholder = 'some text']")
comment[0].send_keys('bla bla bla...')

  • 0

#7 cenzor

cenzor

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

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Ломаков Константин Александрович

Отправлено 14 ноября 2017 - 00:23

а в обычном хроме проходит тест?

Да, в обычном проходил без лишних манипуляций: без клика и без повторного поиска элемента.


  • 1



Темы с аналогичным тегами python, selenium

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

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