Paste command using Selenium

I am using Python 2.7 and Selenium 2-44-0 for Windows 7. I am looking for a faster way to enter text than using send_keys. Send_keys will print 1 letter at a time (which better imitates the actual user). I would like to print everything right away, as if the contents were pasted.

For example, Sikuli has the following functionality:

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

I am wondering if there is a way to write a method in Python that will have the same result. So, instead of:

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

There is something like

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

Since the above command requires adding code to selenium functionality, it would be wiser to have a python method. Maybe something like:

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

"", , .

+4
1

:

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 , .

+4

All Articles