我试图完成一个简单的过程,打开一个基于web/browser的文档,在该文档中选择一个字段,然后将其复制到操作系统的剪贴板中。以下是规格:
Windows 7系统 谷歌Chrome(最新稳定版) Python 3.5 用于键盘/鼠标控制的pyautogui
这是我要使用的字段(http://screencast.com/t/jt0kTagb)。当这个小箭头被点击时,它会弹出一个日历来选择日期。如果直接在字段中单击,则会突出显示该字段的内容。在这种情况下,当我手动按CTRL+C时,字段的内容将按预期直接进入剪贴板。在
我试过两种方法让字段进入我的剪贴板。第一种方法是利用pyautogui的keyDown/up和press功能,基本上如下所示:
imageCoord = noClick("img/date.png")
x, y = pyautogui.center(imageCoord)
pyautogui.click(x, y + 20)
pyautogui.keyDown('ctrl')
pyautogui.press('c')
pyautogui.keyUp('ctrl')
然后,我尝试使用应用程序菜单,如果你右键单击如下所示:
^{pr2}$最后我试了pyautogui.热键()函数如下所示:
imageCoord = noClick("img/date.png")
x, y = pyautogui.center(imageCoord)
pyautogui.click(x, y + 20, button='right')
pyautogui.hotKey('ctrl', 'c')
在这三个事件中,这个领域确实是被选中的,而且据我所知,按键操作正在进行,因为之前发生的所有其他按键/功能都会顺利完成。在
我面临的问题是,当我以与上述两个脚本相同的方式手动执行此操作时,我能够获得内容。当我使用脚本时,剪贴板永远不会更新/填充字段的内容。在使用Python和Window的剪贴板时,是否有我忽略或不考虑的东西?在
最后,我要做的就是把这个值放到excel表格中。任何建议都将不胜感激!在
我在另一个自动化脚本上也发现了这个问题,并且已经花了好几天时间来解决这个问题。我也在使用python3.5和windows7。我可以排除它与googlechrome有任何关系,因为我的特定脚本实际上是在与SAP合作。在
pyautogui的文档Read The Docs(https://pyautogui.readthedocs.io/en/latest/cheatsheet.html#keyboard-functions)提供了一个使用Ctrl+C将文本复制到剪贴板的直接示例,因此我可以验证您实际上没有做错什么。我相信你只是在看一个虫子。在
我在项目的GitHub页面上打开了一个问题: https://github.com/asweigart/pyautogui/issues/102
相关问题 更多 >
编程相关推荐