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

Фотография

Эмуляция нажатия клавиш варианты


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

#1 Nikola

Nikola

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Nikola

Отправлено 15 ноября 2016 - 13:41

Привет. Подскажите, как эмулировать нажатие клавиш ?

 

Есть варианты:

1. driver.find_element_by_id(123).send_keys("123")

2. driver.find_element_by_id(123).send_keys(Keys.SHIFT + 'w')
не нашел таблицу, где можно просто послать букву например Keys.W например



Все эти варианты мне не подходят, они не 100% эмулируют нажатия.

Есть ли еще варианты ? 

У меня цель послать эмуляцию нажатия каждой клавиши. например послать текст "Привет"


  • 0

#2 TatyanaV

TatyanaV

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

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


Отправлено 15 ноября 2016 - 13:51

Погуглите Selenium Actions.

Ну, или более конкретно, в зависимости от того, что нужно сделать.

 

Хотя в указанном вами случае - не понимаю, чем Вас не устраивает стандартный sendKeys (ну или "send_keys") для ввода текста "Привет".


  • 0

#3 Little_CJIOH

Little_CJIOH

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

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


Отправлено 15 ноября 2016 - 13:54

Adruino + привода.
Что значит не на 100%? чего не хватает?
  • 0

#4 Nikola

Nikola

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Nikola

Отправлено 15 ноября 2016 - 13:56

Он отрабатывает, но не так как мне нужно.

Мне нужна эмуляция как будто было нажато с клавиши клавиатуры.

После набранного сочетания клавиш, у меня должна запускаться другая программка которая запущена и ждет этого сочетания клавиш. 

Вот почему нужно именно такое сочетание.

Сейчас когда в sendKeys он печатает да. но как то не так, программка не видит этого.


  • 0

#5 TatyanaV

TatyanaV

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

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


Отправлено 15 ноября 2016 - 13:57

Ну тогда - уже упомянутые мною Actions.


  • 0

#6 Nikola

Nikola

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Nikola

Отправлено 15 ноября 2016 - 14:26

Что то кусками инфа в интернете про Actions.

вы знаете где более менее инструкция есть ?

А то я нашел только где движение элемента и все.


  • 0

#7 TatyanaV

TatyanaV

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

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


Отправлено 15 ноября 2016 - 14:40

Может быть и код написать вместо Вас?

Судя по количеству тем - у Вас на каждый вздох вопросы сплошные. 

Мне кажется Вам стоит пройти курс хотя бы по основам селениума, чтобы хотя бы знать его возможности и знать, что гуглить в различных ситуациях.

Ну и заодно - поучиться использовать гугл. Без этого вообще никуда.

 

По Actions есть куча страниц с примерами реализаций различных кейсов. 

Есть куча тем / вопросов на stackoverflow.


  • 2

#8 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 16 ноября 2016 - 08:03

Он отрабатывает, но не так как мне нужно.

Мне нужна эмуляция как будто было нажато с клавиши клавиатуры.

После набранного сочетания клавиш, у меня должна запускаться другая программка которая запущена и ждет этого сочетания клавиш. 

Вот почему нужно именно такое сочетание.

Сейчас когда в sendKeys он печатает да. но как то не так, программка не видит этого.

 

селениум не работает с ОС, селениум работает только с браузером.

когда вы шлёте keys через селениум, вы работаете на уровне браузера, а не ОС.


  • 0

#9 Nikola

Nikola

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Nikola

Отправлено 16 ноября 2016 - 11:05

BadMF

Ок. Я как раз думал об этом уже.

Получается мне нужно пробовать искать Actions и как то через него пробовать ? Или в данной ситуации он так же не прокатит ?


  • 0

#10 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 16 ноября 2016 - 13:12

BadMF

Ок. Я как раз думал об этом уже.

Получается мне нужно пробовать искать Actions и как то через него пробовать ? Или в данной ситуации он так же не прокатит ?

 

понятия не имею, я уже говорил, я далеко не специалист в силениуме, но я бы попробовал что говорят другие про Экшонс http://selenium-pyth...n.action_chains


  • 0

#11 TatyanaV

TatyanaV

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

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


Отправлено 16 ноября 2016 - 13:30

Actions - это тоже Селениум. Поэтому гарантий, что какая-то абсолютно посторонняя софтина сработает на нажатия кнопок, сэмулированные через Actions, тоже нет.


  • 0

#12 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 17 ноября 2016 - 05:58

100% сработает pyWin32. Примеров в гугле много.


  • 0


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

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