#web-scraping #scrapy #controls
Вопрос:
Здравствуйте, думаю, мой заголовок достаточно плох, чтобы объяснить вопрос, но я пытаюсь понять, есть ли какой-нибудь способ контролировать и автоматизировать вещи, просто находя задачи из диспетчера задач? Я видел в Visual Studio «Spy «. Во-первых, я не понял, какова его цель и как далеко мы можем зайти с ней. Я только что понял, он может предоставить нам журналы в крутом диапазоне.
Я хотел бы привести пример,
Я хочу войти в Facebook / Twitter и самостоятельно выполнять обычные действия с разработанным программным обеспечением (я не хочу использовать selenium или что-то в этом роде), или я хочу получать информацию из игры о фактическом здоровье персонажей, силе атаки, силе способностей… или дать команду этой игре из моего программного обеспечения, например, нажмите a, b или 1. Может кто-нибудь сказать мне точное название темы, о которой я говорю?
Ответ №1:
Терминология: Selenium / AutoIt: «Автоматизация пользовательского интерфейса». Чтение и изменение внутриигровых значений: «редактор памяти» или «тренер».
Не существует универсального способа управления программами, если вы хотите, чтобы ваш инструмент был прозрачным. Браузер может прослушивать события ввода ОС (сообщения Windows, сообщающие ему, какие клавиши были нажаты или где была нажата мышь), игры могут использовать DirectInput, а другие приложения могут подписываться на низкоуровневые системные события или перехваты.
Например, автоматизация браузера:
- Использование плагинов / расширений дает вам JavaScript API, который позволяет просматривать страницы, формы на этих страницах, изменять поведение браузера и еще много чего.
- Браузеры также могут иметь свой собственный внешний API. Это можно сделать, связавшись с их библиотеками DLL, или передав аргументы командной строки, или передав сообщения другими способами. Для Firefox этот API называется «Marionette».
- Тогда есть Selenium, который предоставляет общий API для различных браузеров. Он управляет ими с помощью «драйверов».
Selenium «знает», как управлять браузером, поскольку он закодирован для API-интерфейсов браузера. Spy «знает», что он проверяет окно Win32 и ищет известные элементы управления, их классы и их имена, чтобы вы могли написать другую программу для отправки определенных сообщений этим конкретным элементам управления этих конкретных приложений.
Что касается «входа в Facebook», нет, вы не можете сделать это за разумное время для популярных в настоящее время браузеров, если вы хотите закодировать его с нуля.
Вам придется, так или иначе, взаимодействовать с браузером и запрашивать дескриптор текстовых полей имени пользователя / пароля, вводить в них данные, а затем отправлять форму. Тогда вы практически будете перестраивать Selenium, так почему бы не использовать этот инструмент в первую очередь?
Или вам придется очистить пиксели на экране, распознать эти текстовые поля, щелкнуть там мышью и отправить несколько клавиш. А затем Facebook перепроектирует свою форму входа, и вам придется начинать все сначала.
tl; dr: используйте правильный инструмент для работы. Если вы хотите автоматизировать пользовательский интерфейс сайта, используйте Selenium.
Комментарии:
1. большое вам спасибо, я подумал, что есть другой способ управлять Mozilla из-за selenium для разных целей. Таким образом, нет другого предмета, который обеспечивает универсальную автоматизацию, кроме того, позволяет ли spy управлять win32 Windows? Я думаю, вы так объяснили. Я пытался получить доступ к его документации, но, думаю, он недостаточно популярен, чтобы иметь хорошую информацию, или я не смог ее получить. Для меня это не проблема, невидимо это или нет, я просто пытаюсь что-то делать для себя.
2. Spy предназначен только для проверки процессов, потоков, окон и сообщений. Это позволяет вам отлаживать ваше приложение Windows или просматривать, как создаются другие приложения.
3. Спасибо, для веб-стороны я получил все, кроме программного обеспечения и игр, как это работает? например, как CSGO hack или LOL cheats, как они это делают и как они извлекают информацию / управление из подобных приложений или любых других приложений / игр?
4. Они считывают память игры и / или сетевой трафик и манипулируют ими.