我成功突出显示网页中的部分,但是send_keys .send_keys(Keys.CONTROL, "c")
并没有将预期的文本复制到剪贴板中,只有我手动复制的最后一部分是在剪贴板中:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.somesite.com")
driver.find_element_by_id("some id").send_keys(Keys.CONTROL, "a") #this successfully highlights section I need to copy
elem.send_keys(Keys.CONTROL, "c") # this does not actually copy text**
我尝试使用Firefox编辑菜单选择所有并复制文本,但也无法正常工作,无法在网上找到任何可能的帮助,除了可能提到的bug(尝试旧版本的Firefox,但没有解决问题)。有什么想法吗?
答案 0 :(得分:1)
尝试使用以下代码:
在下面添加标题以导入ActionChains
从selenium.webdriver.common.action_chains导入ActionChains
actions = ActionChains(driver)
actions.key_down(Keys.CONTROL)
actions.send_keys("c")
actions.key_up(Keys.CONTROL)
答案 1 :(得分:1)
这个确实有效,它更新到这个日期并且还测试了几次。
from selenium.webdriver.common.action_chains import ActionChains
def clear_text(self):
webdriver.ActionChains(self.driver).key_down(Keys.CONTROL).perform()
webdriver.ActionChains(self.driver).send_keys("a").perform()
webdriver.ActionChains(self.driver).key_up(Keys.CONTROL).perform()
webdriver.ActionChains(self.driver).send_keys(Keys.DELETE).perform()
ActionChains 现在非常有用,不要忘记 .perform()
每个动作
在课堂上使用这个函数:
text_box.click() #or other clicking function so you are actually typing
self.clear_text() # Because it stands by itself
答案 2 :(得分:0)
尝试一下:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.somesite.com")
driver.find_element_by_id("some id").send_keys(Keys.CONTROL, "a")
driver.find_element_by_id("some id").send_keys(Keys.CONTROL, "c")
答案 3 :(得分:0)
您没有定义“ elim”是什么 尝试:
elim = driver.find_element_by_id("some_id")
elim.send_keys(Keys.CONTROL, "a")
elim.send_keys(Keys.CONTROL, "c")