python-3.x - pyautogui 不在文本字段中写入 Excel 单元格内容
问题描述
我正在尝试使用 pyautogui 模块将 Excel xlsx 文件中的数据写入软件的文本字段中。运行代码后,我打开软件窗口输入数据。不幸的是,代码不会在字段中写入数据。如果我为打开的记事本窗口运行此代码,则它可以工作。
""" Importing Pesticides list into Manabh Softwarer"""
import time
import xlrd
import pyautogui as gui
# Excel file location
loc = ("D:\import.xlsx")
wb = xlrd.open_workbook(loc)
sheet = wb.sheet_by_index(0) # Opens Sheet1
time.sleep(10) # Delay to manually open Manabh data entry window
row = sheet.nrows+1
col = sheet.ncols
print('Columns:',col)
print('Rows:',row)
for i in range(1,row,1):
j = 0
val = sheet.cell_value(i, j)
gui.write(val ,0.01 ) # Item name
time.sleep(0.01)
gui.press('tab')
j += 1
gui.write(sheet.cell_value(i, j),0.01 ) # Manufacturer
time.sleep(0.01)
脚注:
- 具有管理员权限的 Windows 8.1。
- 以管理员权限运行的“Manabh Software”窗口。
- 这是“Manabh 软件文本输入”窗口的屏幕截图的链接
解决方案
我在 Reddit 论坛上找到了用户在游戏中遇到类似问题的解决方案。py 文件需要以提升的(管理员)权限运行。我通过右键单击开始菜单中的 IDLE 快捷方式并选择“以管理员身份运行”来运行它。然后从文件菜单中打开 py 文件,通过功能键“F5”运行它。