Управление настольным приложением Spotify с помощью Pywinauto в Windows

Есть ли способ управлять настольным приложением Spotify с помощью pywinauto? Учебники показывают только примеры с простыми приложениями, такими как Блокнот, в которых есть окна с заголовками. Окно приложения Spotify не имеет заголовка, и я не знаю, как создать объект спецификации окна в этой ситуации или контролировать что-либо в spotify. Я могу открыть приложение Spotify, используя приведенный ниже код, но это о том, как далеко я захожу.

from pywinauto.application import Application  
app = Application().start('Spotify.exe')

Я пытаюсь указать и выбрать список воспроизведения на левой боковой панели приложения Spotify для Windows, который содержит сохраненные списки воспроизведения, а затем выбрать воспроизведение любой произвольной песни из окна списка воспроизведения, которое появляется справа. Я попытался щелкнуть имя списка воспроизведения называется «Новая музыка» на левой панели, используя следующий код, который все еще не завершен, так как мне нужен еще один аргумент для конкретной ссылки на нужный мне список воспроизведения:

app.window(control_type='TextControl').click()

Единственные полезные значения, которые я получил от Inspect.exe для элемента, указанного как «Новая музыка», - это Name:New Music, ControlType:TextControl, ProcessId:3680 и список предков.

Я не мог использовать ProcessId, так как все остальные плейлисты используют тот же идентификатор, и я не мог использовать Name, поскольку он не может быть допустимым аргументом.

Вы читали Руководство по началу работы? Вы пробовали Inspect.exe и серверную часть UIA?

Vasily Ryabov 01.05.2018 21:15

@VasilyRyabov Да, я не нашел ничего полезного в руководстве. Заглянем в Inspect.exe и МАУ

West 01.05.2018 21:28

Inspect.exe упоминается в Руководстве перед спецификацией окна. Разве он недостаточно выделен?

Vasily Ryabov 02.05.2018 06:52

@VasilyRyabov Изначально я использовал SWAPY, но я узнал больше после просмотра Inspect, который также показывает полное древовидное представление. Я могу указать окно и использовал draw_outline(), чтобы убедиться, что у меня правильное окно. После этого я застрял, так как понятия не имею, как ссылаться на какие-либо элементы дерева, которые я вижу в inspect.exe. Я тоже новичок в python, поэтому я изо всех сил пытаюсь перевести примеры документации для Spotify. Просто буду продолжать пытаться.

West 02.05.2018 08:23

Что ж, если вы все еще застряли, опубликуйте небольшой фрагмент кода и сообщение об ошибке в теле вопроса.

Vasily Ryabov 15.05.2018 14:18

@VasilyRyabov спасибо, я обновил свой вопрос дополнительной информацией

West 19.05.2018 11:01

Извините, это недостаточно подробно. Мне нужно слишком много времени, чтобы воспроизвести его полностью.

Vasily Ryabov 29.05.2018 09:11
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
7
591
0

Другие вопросы по теме