gpt4 book ai didi

Python、Pyautogui 和 CTRL-C

转载 作者:太空宇宙 更新时间:2023-11-04 03:08:10 27 4
gpt4 key购买 nike

我正在尝试完成一个简单的过程,即打开一个基于网络/浏览器的文档,在所述文档中选择一个字段,然后将其复制到我的操作系统的剪贴板中。这是规范:

window 7谷歌浏览器(最新稳定版)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')

然后我尝试只使用如果您右键单击看起来像这样的东西时出现的应用程序菜单:

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 将文本复制到剪贴板的直接示例,因此我可以验证您实际上没有做错什么。我相信您只是在这里查看错误。

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

关于Python、Pyautogui 和 CTRL-C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38899566/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com