首页 > 解决方案 > 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)

脚注:

  1. 具有管理员权限的 Windows 8.1。
  2. 以管理员权限运行的“Manabh Software”窗口。
  3. 这是“Manabh 软件文本输入”窗口的屏幕截图的链接

标签: python-3.xxlrdpyautogui

解决方案


我在 Reddit 论坛上找到了用户在游戏中遇到类似问题的解决方案。py 文件需要以提升的(管理员)权限运行。我通过右键单击开始菜单中的 IDLE 快捷方式并选择“以管理员身份运行”来运行它。然后从文件菜单中打开 py 文件,通过功能键“F5”运行它。


推荐阅读