Selenium Action Chains не позволяют мне вставлять в Chrome - PullRequest
0 голосов
/ 28 сентября 2019

Я использую Selenium на Python.Когда я даю ему элемент и говорю, какие клавиши нажимать, он делает это, например:

rawdata = driver.find_element_by_id('elementid')
rawdata.send_keys(Keys.CONTROL+'a')
time.sleep(1)
rawdata.send_keys(Keys.CONTROL+'c')

Но когда я использую цепочки действий для вставки данных:

pastedata = ActionChains(driver)
pastedata.send_keys(Keys.CONTROL+'v')
pastedata.perform()

Он просто набирает строчные буквы v. Как мне заставить его по-прежнему использовать цепочки действий, но вставить его?

Ответы [ 2 ]

0 голосов
/ 29 сентября 2019
pastedata = ActionChains(driver)
pastedata.key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL)
pastedata.perform()
0 голосов
/ 28 сентября 2019

По этой теме здесь , я думаю, вы можете просто использовать обычную команду send_keys для вставки, точно так же, как при копировании.Я не думаю, что есть необходимость в ActionChains.

elementToPasteTextInto.send_keys(Keys.CONTROL+"v")

В качестве альтернативы, вы можете вместо этого отправлять текст в элемент, используя Javascript:

webdriver.executeScript("document.getElementById('elementID').setAttribute('value', 'new value for element')");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...