使用 javascript python selenium 按键
Key press with javascript python selenium
有没有办法基本上模拟键盘的按键操作?
我想单击一个可键入的元素,然后通过按键模仿最终用户键入的内容。我不想提供任何 XPath 然后使用 sendkeys 或任何东西。
基本上 element.click() -> 按键,我很确定 selenium 对此没有选择,这就是我转向 js 的原因。有谁知道这样的事情是否可行?
编辑:测试在网页上完成
这可以做到吗?
首先,您需要获取元素(使用 XPath 或 CSS_Selector)。
您可以使用 ActionChains
完成此操作,例如,如果您想要 copy/paste 文本,请使用 CTRL+'c' 然后 CTRL+'v':
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()
有没有办法基本上模拟键盘的按键操作?
我想单击一个可键入的元素,然后通过按键模仿最终用户键入的内容。我不想提供任何 XPath 然后使用 sendkeys 或任何东西。
基本上 element.click() -> 按键,我很确定 selenium 对此没有选择,这就是我转向 js 的原因。有谁知道这样的事情是否可行?
编辑:测试在网页上完成
这可以做到吗?
首先,您需要获取元素(使用 XPath 或 CSS_Selector)。
您可以使用 ActionChains
完成此操作,例如,如果您想要 copy/paste 文本,请使用 CTRL+'c' 然后 CTRL+'v':
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()