Ошибка типа: __init__() получил неожиданный аргумент ключевого слова «серверная часть» при запуске скрипта на компьютере Win7

#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 него ?