按键与javascript python selenium

问题描述

有没有一种方法可以基本上模拟键盘上的按键操作?

我想单击一个可键入的元素,然后通过按键模仿最终用户将要键入的内容。我不想给任何XPath然后使用sendkey或其他任何东西。

基本上是element.click()->按键操作,我敢肯定selenium对此没有选择,这就是我转向js的原因。有人知道这样的事情是否可能吗?

编辑:测试是在网页上完成的

可以做到吗?

解决方法

首先,您需要获取元素(使用XPath或CSS_Selector)。

例如,如果要复制/粘贴文本,可以使用CTRL +'c'然后CTRL +'v'来使用ActionChains完成此操作

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()

driver.get('http://example.com')
element = driver.find_element_by_xpath('the/xpath')

ActionChains(driver).move_to_element(element).click(element).key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()

或者您可以使用ActionChains().send_keys()