有没有办法使用 Selenium 2 和 Python 绑定执行复制和粘贴?
我突出显示了要复制的元素,然后执行以下操作
copyActionChain.key_down(Keys.COMMAND).send_keys('C').key_up(Keys.COMMAND)
但是,突出显示的文本不会被复制。
要在 Mac 和 PC 上执行此操作,您可以使用这些备用键盘快捷键进行剪切、复制和粘贴。请注意,其中一些功能在物理 Mac 键盘上不可用,但由于旧键盘快捷键而可以使用。
Mac 上用于剪切、复制和粘贴的备用键盘快捷键
- 剪切 => control+删除,或 control+K
- 复制 => 控制+插入
- 粘贴 => Shift+插入,或 control+Y
如果这不起作用,请改用 Keys.META,这是替代命令 ⌘ 键的官方密钥
source: https://w3c.github.io/uievents/#keyboardevent https://w3c.github.io/uievents/#keyboardevent
这是一个功能齐全的示例:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
browser = webdriver.Safari(executable_path = '/usr/bin/safaridriver')
browser.get("http://www.python.org")
elem = browser.find_element_by_name("q")
elem.clear()
actions = ActionChains(browser)
actions.move_to_element(elem)
actions.click(elem) #select the element where to paste text
actions.key_down(Keys.META)
actions.send_keys('v')
actions.key_up(Keys.META)
actions.perform()
因此,在 Selenium (Ruby) 中,这大致类似于选择元素中的文本,然后将其复制到剪贴板。
# double click the element to select all it's text
element.double_click
# copy the selected text to the clipboard using CTRL+INSERT
element.send_keys(:control, :insert)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)