Вставить команду, используя Selenium

Я использую Python 2.7 и Selenium 2-44-0 в Windows 7. Я ищу более быстрый способ ввода текста, чем использование send_keys. Send_keys будет печатать по 1 букве за раз (что лучше имитирует фактического пользователя). Мне хотелось бы сразу распечатать все, как если бы содержимое было вставлено.

Например, Sikuli имеет следующие функции:

paste("this will all populate the field at the same time") 

Мне интересно, есть ли способ написать метод в Python, который будет иметь тот же результат. Итак, вместо:

 el.send_keys("this will do 1 letter at a time") 

Есть что-то вроде

 el.paste_keys("this will do the entire line at once") 

Поскольку указанная выше команда потребует добавления кода в функциональность селена, было бы разумнее иметь метод python. Может быть, что-то вроде:

 def paste_keys(self, xpath, text): os.environ['CLIPBOARD'] = text el = self.driver.find_element_by_xpath(xpath) el.send_keys(Keys.CONTROL, 'v') 

Однако использование этой переменной окружения фактически не является «копией», и я не знаю, как установить буфер обмена с уровня кода без загрузки стороннего программного обеспечения.

One Solution collect form web for “Вставить команду, используя Selenium”

Это работает:

 def paste_keys(self, xpath, text): os.system("echo %s| clip" % text.strip()) el = self.driver.find_element_by_xpath(xpath) el.send_keys(Keys.CONTROL, 'v') 

После% s не может быть пробела, поскольку оно добавит это к скопированному тексту.

Python - лучший язык программирования в мире.