#python #python-2.7 #pywinauto
Вопрос:
Я пытаюсь создать скрипт с помощью pywinauto для открытия различных приложений. У меня есть код, чтобы открыть Adobe Acrobat Reader и перейти на страницу «Создать PDF». Он работает на 64-разрядной Windows 10, но не на 64-разрядной Windows 7. Когда я пытаюсь запустить сценарий, я получаю
Traceback: <most recent call last>:
File "C:UsersnickDesktopmain.py", line 96, in <module>
acrobat_interaction()
File "C:UsersnickDesktopmain.py", line 68, in acrobat_interaction
app = Application(backend="uia").start("C:Program Files (x86)AdobeAcrobat Reader DCReaderAcroRD32.exe"),
TypeError: init() got an unexpected keyword argument 'backend'
Вот мой код:
import time
from pywinauto.application import Application
from pywinauto import Desktop, findwindows
import pyautogui, subprocess, random
# get screen dimensions
width, height = pyautogui.size()
# Check to see if process exists, if so we can connect to the existing session
def process_exists(process_name): # credit: ewerybody on StackOverflow
call = 'TASKLIST', '/FI', 'imagename eq %s' % process_name
# use buildin check_output right away
output = subprocess.check_output(call).decode()
# check in last line for process name
last_line = output.strip().split('rn')[-1]
# because Fail message could be translated
return last_line.lower().startswith(process_name.lower())
def acrobat_interaction():
# mouse movement
pyautogui.moveTo(random.randrange(0, width), random.randrange(0, height), 2)
# Start new process - link Application to Acrobat
if process_exists("AcroRD32.exe"):
print("Acrobat session already exists. Connecting...")
app = Application(backend="uia").connect(
path=r"C:Program Files (x86)AdobeAcrobat Reader DCReaderAcroRD32.exe")
print("Connected to existing Acrobat session.")
else:
print("Acrobat process does not exist. Creating a new one...")
app = Application(backend="uia").start("C:Program Files (x86)AdobeAcrobat Reader DCReaderAcroRD32.exe",
timeout=20)
time.sleep(2)
app.connect(title='Adobe Acrobat Reader DC (32-bit)')
print("Launched new Acrobat session.")
Любая помощь была бы очень признательна. Спасибо.
Комментарии:
1. поделитесь дополнительным кодом, покажите импорт. Что такое
Application
?2. Отредактировано с большим количеством кода.
3. также поделитесь полной трассировкой стека. Как называется py src?
4. py src? не знакомо. обновлено с помощью трассировки стека
5. используете ли вы одни и те же версии модулей? ИЛИ, может быть, для разных окон он использует разные
Application
версии и версии дляWindow 7
не имеетbackend
, потому что он не может использовать разные бэкэнды. Ты примерял безbackend
Windows 7
него ?