Копировать / Вставить проблему в Selenium Chromedriver, используя Python - PullRequest
0 голосов
/ 12 ноября 2019

Я пытаюсь вставить что-то из буфера обмена в текстовую область в Chrome с помощью Selenium, потому что я обрабатываю длинные тексты и не хочу использовать send_keys, который печатает букву за буквой. Я использую Python, и я нахожусь на Windows10. Проблема в том, что почему-то все параметры вставки не работают. Я попытался использовать

    def upload_changes(code, browser):
        from tkinter import Tk
        from selenium.webdriver.common.keys import Keys
        from selenium.webdriver.common.action_chains import ActionChains
        r = Tk()
        r.withdraw()           
        r.clipboard_clear()
        r.clipboard_append("test")
        r.update()
        r.destroy()
        textarea = browser.find_element_by_class_name('bxhtmled-textarea')
        textarea.send_keys(Keys.CONTROL+'v')

Но он просто печатает 'v' на текстовой области. Текст определенно копируется в буфер обмена, так как я могу вставить его вручную, используя Ctrl + V. Я также попытался заменить его на

ActionChains(browser).key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()

, который также просто печатает 'v'.

Я также пытался использовать альтернативный ярлык

send_keys(Keys.SHIFT+Keys.INSERT)

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

Я остался без понятия,почему-то функция одновременного нажатия двух кнопок никак не работает. Я благодарен за любой совет! Best NAB

...