这里需要有关linux python3中Web硒中“粘贴”操作的帮助。
可以使用search.send_keys(Keys.CONTROL+ "v")
将本地test.txt中复制的内容成功粘贴到Web上下文中。
但是,当我尝试使用动作链来模拟鼠标“右键单击”和“粘贴”时,它失败了。该脚本在“右键单击”面板上挂起,提示未进行任何in the piucture“向下箭头”和“粘贴”操作的操作。 似乎我需要找到正确的“元素”来定位,然后执行“向下箭头”,然后“粘贴”。 任何想法都很感激。
def paste(self):
file = 'test.txt'
f = open(file,'r')
c = clipboard.copy(f.read())
sleep(3)
actions = ActionChains(self.driver)
element = self.driver.find_element_by_xpath("//input[@type='text'][@id='idtboxSensorSearch']")
actions.move_to_element(element).perform()
actions.context_click().perform()
actions.send_keys(Keys.ARROW_DOWN).send_keys(Keys.ARROW_DOWN).send_keys(Keys.RETURN).perform()
答案 0 :(得分:0)
右键菜单是操作系统 UI元素,它不受Selenium的控制-它根本无法与之交互。就像您尝试控制工具栏按钮或浏览器菜单一样,您无法使用Selenium来实现。
这就是ActionChains发生的事情-将这些事件发送到Web元素,而不是右键单击菜单-并且您看不到任何交互。
如果您确实想执行此操作-尽管ctrl-v足够了,但它确实可以执行此操作,您应该使用桌面应用程序自动化工具。 AutoIt和Java的robot
软件包是免费的选择。