FOR 循环中的 PYAUTOGUI Python
PYAUTOGUI IN FOR LOOP Python
我正在尝试对目录中的每个文件执行一系列步骤。对于每个文件,我想复制文件名,然后将其粘贴到屏幕上指定的坐标处。 if 语句中的前三行代码似乎被忽略了,我看到的只是光标移动到目的地。 None 个文件名正在复制到剪贴板,none 个已粘贴。请参阅附件中的错误图片消息。非常感谢任何建议。
pythonPicError
import pyautogui,os
directory = 'C:\Users\johna\Desktop\pdfs'
for filename in os.listdir(directory):
if filename.endswith('.txt'):
pyautogui.click()
pyautogui.press('f2') #select file name
pyautogui.hotkey('ctrl','c') #copy file name
pyautogui.moveTo(153,1054,duration=2)
pyautogui.click() #click on destination
pyautogui.hotkey('ctrl','v') #paste file name
在每行代码后打印一些东西,看看到底是哪里出了问题。不过我猜
pyautogui.hotkey('ctrl','c') #copy file name
ctrl+c 正在杀死你的脚本:)
刚刚注意到:
pyautogui.click()
您没有为这次点击提供任何坐标,所以它是在您 运行 您的光标所在位置的程序之后点击的。
我编写了坐标,现在可以使用了。
import pyautogui,os
directory = 'C:\Users\johna\Desktop\pdfs'
x=226
y=280
for filename in os.listdir(directory):
if filename.endswith('.txt'):
pyautogui.click(x,y)
pyautogui.press('f2')
pyautogui.hotkey('ctrl','c')
y=y+30
pyautogui.moveTo(107,559,duration=2)
pyautogui.click()
pyautogui.hotkey('ctrl','v')
我正在尝试对目录中的每个文件执行一系列步骤。对于每个文件,我想复制文件名,然后将其粘贴到屏幕上指定的坐标处。 if 语句中的前三行代码似乎被忽略了,我看到的只是光标移动到目的地。 None 个文件名正在复制到剪贴板,none 个已粘贴。请参阅附件中的错误图片消息。非常感谢任何建议。 pythonPicError
import pyautogui,os
directory = 'C:\Users\johna\Desktop\pdfs'
for filename in os.listdir(directory):
if filename.endswith('.txt'):
pyautogui.click()
pyautogui.press('f2') #select file name
pyautogui.hotkey('ctrl','c') #copy file name
pyautogui.moveTo(153,1054,duration=2)
pyautogui.click() #click on destination
pyautogui.hotkey('ctrl','v') #paste file name
在每行代码后打印一些东西,看看到底是哪里出了问题。不过我猜
pyautogui.hotkey('ctrl','c') #copy file name
ctrl+c 正在杀死你的脚本:)
刚刚注意到:
pyautogui.click()
您没有为这次点击提供任何坐标,所以它是在您 运行 您的光标所在位置的程序之后点击的。
我编写了坐标,现在可以使用了。
import pyautogui,os
directory = 'C:\Users\johna\Desktop\pdfs'
x=226
y=280
for filename in os.listdir(directory):
if filename.endswith('.txt'):
pyautogui.click(x,y)
pyautogui.press('f2')
pyautogui.hotkey('ctrl','c')
y=y+30
pyautogui.moveTo(107,559,duration=2)
pyautogui.click()
pyautogui.hotkey('ctrl','v')