Python、Pyautogui和CTRLC

2024-10-01 09:37:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图完成一个简单的过程,打开一个基于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表格中。任何建议都将不胜感激!在


Tags: 方法文档功能内容imgdatepng手动
1条回答
网友
1楼 · 发布于 2024-10-01 09:37:47

我在另一个自动化脚本上也发现了这个问题,并且已经花了好几天时间来解决这个问题。我也在使用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

相关问题 更多 >