Python,Pyautogui和CTRL-C

问题描述:

我正在尝试完成打开基于Web /浏览器的文档,在所述文档中选择一个字段,然后将其复制到我的操作系统的剪贴板中的简单过程。这里的规格:Python,Pyautogui和CTRL-C

Windows 7的 谷歌浏览器(最新的稳定) 的Python 3.5 pyautogui键盘/鼠标控制

这里是我试图用(http://screencast.com/t/jt0kTagb)的工作领域。点击该小箭头时,会弹出以显示日历以选择日期。如果您直接点击该字段,则会突出显示该字段的内容。当我在这种情况下手动按CTRL + C时,该字段的内容按预期正确进入剪贴板。

我试过两种让字段进入我的剪贴板的方法。首先是利用基本上看起来像pyautogui的KeyDown /向上,按功能:

imageCoord = noClick("img/date.png") 
x, y = pyautogui.center(imageCoord) 
pyautogui.click(x, y + 20) 
pyautogui.keyDown('ctrl') 
pyautogui.press('c') 
pyautogui.keyUp('ctrl') 

然后我试图只使用出现的应用程序菜单,如果你右键点击一些东西,是这样的:

imageCoord = noClick("img/date.png") 
x, y = pyautogui.center(imageCoord) 
pyautogui.click(x, y + 20, button='right') 
pyautogui.press("down", presses=2) 
time.sleep(1) 
pyautogui.press('enter') 

最后我想它看起来像这样的pyautogui.hotkey()函数:

imageCoord = noClick("img/date.png") 
x, y = pyautogui.center(imageCoord) 
pyautogui.click(x, y + 20, button='right') 
pyautogui.hotKey('ctrl', 'c') 

在所有三个事件的现场确实选择是最好的,我可以告诉大家个随着之前发生的所有其他印刷机/功能顺利完成,按键按键正在经历。

我面对的问题是,当我以与上述两种脚本相同的方式手动执行此操作时,我能够获取内容。当我使用脚本时,剪贴板不会更新/填充字段的内容。在使用Python和Window的剪贴板时,是否有我忽视或不考虑的内容?

最后,我所要做的就是将该值放入Excel表格中。任何意见,将不胜感激!

我也在不同的自动化脚本中发现了这个问题,并且一直在努力解决它几天。我也在Python 3.5和Windows 7上。我可以排除它与Google Chrome有任何关系,因为我的特定脚本实际上与SAP一起工作。

阅读文档(https://pyautogui.readthedocs.io/en/latest/cheatsheet.html#keyboard-functions)上的pyautogui文档给出了一个使用Ctrl + C将文本复制到剪贴板的直接示例,所以我可以验证您实际上没有做错什么。我相信你只是在这里看一个bug。

我已在项目的GitHub的页面上开设了一个问题: https://github.com/asweigart/pyautogui/issues/102

+0

同时,试试这个: –

+0

http://*.com/questions/12056590/how-to-press-ctrl –