尝试在Python中执行AutoIT脚本时出现错误消息
您好,我正在尝试自动执行文件删除过程,这是我的Python脚本,其中AutoIT通过尝试在Python中执行AutoIT脚本时出现错误消息,python,autoit,Python,Autoit,您好,我正在尝试自动执行文件删除过程,这是我的Python脚本,其中AutoIT通过win32com模块导入 from selenium import webdriver import win32com.client driver = webdriver.Chrome() driver.get("https://tinyjpg.com/") assert "TinyJPG" in driver.title droplocation = driver.find_element_by_class
win32com
模块导入
from selenium import webdriver
import win32com.client
driver = webdriver.Chrome()
driver.get("https://tinyjpg.com/")
assert "TinyJPG" in driver.title
droplocation = driver.find_element_by_class_name("icon")
droplocation.click()
autoit = win32com.client.Dispatch("AutoItX3.Control")
autoit.Run(r"filedrop.exe")
然而,我得到了这个错误:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 89, in _GetGoodDispatch
IDispatch = pythoncom.connect(IDispatch)
pywintypes.com_error: (-2147221021, 'Operation unavailable', None, None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Tea\Desktop\compressimg.py", line 30, in <module>
autoit = win32com.client.Dispatch("AutoItX3.Control")
File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221164, 'Class not registered', None, None)
回溯(最近一次呼叫最后一次):
文件“C:\ProgramData\Anaconda3\lib\site packages\win32com\client\dynamic.py”,第89行,在\u GetGoodDispatch中
IDispatch=pythoncom.connect(IDispatch)
pywintypes.com_错误:(-2147221021,“操作不可用”,无,无)
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Users\Tea\Desktop\compressimg.py”,第30行,在
autoit=win32com.client.Dispatch(“AutoItX3.Control”)
文件“C:\ProgramData\Anaconda3\lib\site packages\win32com\client\\uuuu init\uuuuu.py”,第95行,在分派中
调度,用户名=动态。\ GetGoodDispatchAndUserName(调度,用户名,clsctx)
文件“C:\ProgramData\Anaconda3\lib\site packages\win32com\client\dynamic.py”,第114行,位于\u GetGoodDispatchAndUserName中
返回(_GetGoodDispatch(IDispatch,clsctx),用户名)
文件“C:\ProgramData\Anaconda3\lib\site packages\win32com\client\dynamic.py”,第91行,在\u GetGoodDispatch中
IDispatch=pythoncom.CoCreateInstance(IDispatch,None,clsctx,pythoncom.IID_IDispatch)
pywintypes.com_错误:(-2147221164,“类未注册”,无,无)
我能找到的最相似的帖子是这样的:,但我认为网站应该是COM服务器,所以这在这里并不重要
在任何情况下,我不太确定错误是什么试图告诉我,帮助是感激的
reg query HKEY\u CLASSES\u ROOT\AutoItX3.Control
。在命令提示符下运行该命令。如果出现错误,则可能需要注册AutoIt DLL<对于x86,代码>自动ITX3.dll;对于x64,代码>自动ITX3_x64.dll。您提到的COM服务器在操作系统中运行。如果需要,您可以使用regsvr32.exe
注册DLL。@michael_heath谢谢您的建议!但是我刚刚检查了一下,我已经有了所有需要的AutoItX3.dll文件。似乎这不是问题所在:/