Как написать программу которая будет выполнять действия на сайте
Перейти к содержимому

Как написать программу которая будет выполнять действия на сайте

  • автор:

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

Всем доброго времени суток! Простите если не по теме! Не знал куда отписать и где спросить! Интересует такой вопрос? Чем можно написать программу?? Программа должна будет зайти допустим на Одноклассники после в игру, далее в игре выполнить некоторые функций. В программирование понимаю мало так что не судити строго! Жду ваших подсказок и направлений моих дальнейших действий.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Написать программу, которая выполняет действия над матрицами
Написать программу, которая выполняет действия над матрицами (n x m), меняет местами первую и.

Написать программу, которая выполняет следующие действия одномерного массива:
1) позволяет вводить массив; 2) выполняет преобразование массива: Записать в отдельный массив.

Составить программу которая выполняет следующие действия
Составить программу которая выполняет следующие действия: 1. Создает динамический список 2.

Составить программу, которая выполняет следующие действия:
Составить программу, которая: 1) запрашивает имя человека и адрес, а затем выводит сообщение: «….

Как написать программу работающую с сайтом?

Здравствуйте! Не могу определиться с чего начать. В общем необходимо написать программу (.exe, прям вот на компьютере что бы!, под windows’ом!) с примитивным интерфейсом (кнопочки, поля для ввода и т.д.) и что бы она могла взаимодействовать с сайтом. К примеру: в программке я ввожу логин и пароль, нажимаю «вход» и она на сайте входит в аккаунт. После от неё требуется, к примеру, если значение на сайте «удалить», то программка автоматически удаляет определённый комментарий. В интернете по этой части ничего найти не смог. Помогите пожалуйста! Что для этого потребуется? Какие языки мне для этого понадобятся?

  • Вопрос задан более трёх лет назад
  • 6020 просмотров

Комментировать
Решения вопроса 1

iiiBird

Пока ты спишь — твой конкурент совершенствуется
зачем целый интерфейс админки переносить в оконное приложение? но если прям уж очень хочется чтобы

.exe, прям вот на компьютере что бы!, под windows’ом!

тогда берешь delphi или VisualStudio игуглишь в сторону интеграции webkit browser. ну и в конечном итоге ты получишь че то типа браузера в оконном приложении, где уже сможешь работать с своим сайтом.

Ответ написан более трёх лет назад
Нравится 4 1 комментарий
xmoonlight @xmoonlight
Delphi 7 — оптимально и быстро.
Ответы на вопрос 4

Любой подходящий язык — хоть Delphi. Но под каждый сайт придётся писать своё и в случае изменений переписывать.

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать

На счет языков. Тут подойдет любой, так как GUI(«кнопочки, поля ввода. «) уже даже для PHP есть, хоть это и высшая степень извращениях.
Я бы рассматривал два варианта WPF или Swing/JavaFX. Для первого нужно знать C#, для второго/третьего Java.
Дальше все просто, приложение посылает запрос и распахивает данные по элементам графического интерфейса.
Но судя по вопросу, когда Вы дойдете в обучении до того, что сможете это сделать, поймёте, на сколько задача не правильна и как это все нужно делать.
P.S. Если есть доступ к БД, то лучше работать с БД, а не с сайтом.
P.P.S. Если доступа к БД нету, то такая программа давно есть, называется браузер!

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать

Rou1997

Это либо headless-браузеры (WebBrowser — IE’s Trident, WebKit, Phantom.js и т.п.), либо сети (HTTP), подходит любой язык, удобнее всего на C# и Delphi.
Но помимо языка, потребуются навыки реверс-инжиниринга и отладки. По нарастающей:
просмотр кода страницы и текущего кода DOM в браузере;
деобфускация JavaScript;
сниффинг сетевых HTTP-запросов с помощью средств разработчика в браузере и других снифферов, например Fiddler, Wireshark, Charles и т.п. (в основном для сайтов с AJAX, их сейчас все больше);
отладка JavaScript с помощью средств разработчика в браузере.

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

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Алексей Алексин @leroyleroy

Я бы в VisualStudio на C# сделал бы приложение. Быстро и просто, плюс для тех у кого проблемы с запросами, там присутствует конструктор запросов и автоматом создаются функции delete/alter.

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

html

  • HTML
  • +3 ещё

Как сделать так чтобы absolute блок был абсолютным внутри родителя?

  • 1 подписчик
  • 06 дек.
  • 74 просмотра

Как и на каком языке можно написать программу, которая автоматизирует ручное заполнение информации в окне браузера

Вопрос: можно ли написать программу, которая автоматизирует этот процесс — чтобы она сама заполняла формы по стандартизированному название (между автором и книгой всегда могут стоять «пробел дефис пробел); чтобы копировала и заносила информацию в эксель; чтобы, перемещала загруженные файлы из одной папки в другую.

Из навыков программирования только VBA excel. Хочется также понять, что конкретно и в каких языках программирования стоит изучить, чтобы суметь сделать подобную программу. Предпочтительно на Python. И был бы очень признателен за ответы на то, как решить последовательные кусочки этой довольной большой задачи и где можно прочитать ответы, чтобы эти кусочки работали: как заполнять формы в браузере, используя имя файла «Автор — Книга.doc» над этими формами? Как выбирать логин из списка? и др.

Отслеживать
34.4k 15 15 золотых знаков 65 65 серебряных знаков 94 94 бронзовых знака
задан 29 апр 2016 в 13:50
Kertanov Viktor Kertanov Viktor
61 4 4 бронзовых знака
UI Automation вполне справится. C#. ru.stackoverflow.com/a/509694/10105
29 апр 2016 в 13:55
похожий вопрос: Interact with other programs using Python
29 апр 2016 в 16:55
Если вам дан исчерпывающий ответ, отметьте его как верный (галка напротив выбранного ответа).
30 апр 2016 в 3:32

Есть множество систем автоматизации тестирования ПО. Они не очень распространены в миру в силу того, что специфичны для профессии QA-engineer, но с такими задачами они справляются на раз. Есть системы которые лучше работают с web, с мобильными, с десктопными. Примеры — Uppium, Selenium

3 фев 2018 в 8:28

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Вместо того, чтобы пытаться повторить действия пользователя с GUI буквально, можно взглянуть на задачу глазами программиста:

  • вместо открытия браузера, заполнения и отправки формы, можно выполнить http POST запрос напрямую ( request.post() )
  • вместо выбора файлов в графическом диалоге, можно использовать API, которое возвращает список файлов по шаблону ( Path().glob(«*.doc») )
  • вместо копирования руками метаданных книги из названия файла Author — Title.doc в элементы формы, выставляются требуемые параметры запроса напрямую (author, title в примере). Сами метаданные из имени файла можно получить, манипулируя строку с именем напрямую: fn.split(‘-‘) или с помощью регулярных выражений: r’^([^-]+?)\s*-\s*(.+)\.doc$’
  • вместо копирования результатов загрузки из окна в Excel, ответ сервера напрямую печатается в csv формате в стандартный вывод ( csv.writer(sys.stdout) ) Что легко в файл скопировать ( | tee -a books.csv )

Конечный скрипт, который загружает файлы с книгами, может выглядеть так:

#!/usr/bin/env python3 '''Upload " - .doc" books from the given directory. Usage: upload-books | tee -a books.csv ''' import csv import re import sys from pathlib import Path import requests # $ pip install requests if len(sys.argv) < 2: sys.exit(__doc__) src_dir = sys.argv[1] with requests.Session() as sess: writer = csv.writer(sys.stdout) for path in Path(src_dir).glob('*.doc'): # for each book metadata = re.findall(r'^([^-]+?)\s*-\s*(.+)\.doc$', path.name) if not metadata: print("warning: can't find author, title in path:", path, file=sys.stderr) continue # don't upload # upload book author, title = metadata[0] book = r = sess.post('https://example.com/api/v1/books', files=book, auth=('user', 'passwd')) if not r.ok: print("warning: can't upload book from path:", path, file=sys.stderr) continue # don't save book info # save uploaded book info data = r.json()['response'] writer.writerow([str(path), author, title, data['url']]) 

Это в хорошем случае, когда у сайта есть явное API или спонтанно сформировавшийся набор http запросов/ответов, не требует выполнения динамического кода в браузере (или когда результаты этого выполнения могут быть легко смоделированы).

В менее удачном случае, когда, например, за загрузку книг ответчает Silverlight control, который использует какой-нибудь свой протокол для общения с сервером, то может быть проще использовать инструменты GUI автоматизации такие как pywinauto, pyautogui или AutoIt (упомянутый в ответе на схожий вопрос на Stack Overflow).

В промежуточном случае, интерфейс реализован в браузере на javascript и работу с ним можно автоматизировать, используя что-нибудь вроде Selenium WebDriver (+ headless chrome).

Как написать программу самому

Писать программы — важное умение для каждого. Программы используются в любых целях: повседневные находят себе место в автоматизации ежедневных процессов, бизнес используются для упрощения работы начальства и сотрудников компаний.

Новичков часто интересует вопрос — с чего начать. Ведь задача написать программу представляет собой не простой процесс, к которому нужно отнестись ответственно и потратить на него немало сил.

Определение идеи

Чтобы написать программу, которая работает, нужно хорошо продумать, что она должна делать и как. Для этого следует разобраться с целями, которые она должна решать, а затем разобраться с будущим функционалом. Для этого лучше записать ответы на следующие вопросы:

  1. Что должна делать написанная программа.
  2. Чем будет полезна.
  3. Как может помочь пользователям, чем упростит работу.
  4. Чем отличается от конкурентов, похожих программ.
  5. Где можно написать программу.
  6. На какой платформе написать прогу.

После ответа на эти вопросы должна сформироваться чёткая картинка того, как будет выглядеть продукт и что он будет делать.

Выбор языка программирования

В первую очередь решается, где можно написать программу. Языков огромное множество, и каждый из них индивидуален, отвечает разным запросам пользователей. Какой-то — полегче, другой — сложнее, третий — функциональнее. Среди профессиональных программистов уже давно гуляют разговоры о том, где лучше писать программы, перечисляя преимущества и недостатки каждого из возможных вариантов.

C (Си)

Си — это классика, которую должен знать каждый программист, но подходит он для написания далеко не каждой программы. Как правило, его используют, чтобы написать низкоуровневые программы. Если изучить Си, можно свободно начать писать на Си++.

Новым пользователям, которые хотят заняться написанием одной программы и бросить программирование, Си совсем не подойдёт. Его сложно изучить из-за того, как мало по нему материалов в сети и учебниках, а пользователей, которые пишут на нём — немного, поэтому знатоков в языке ещё нужно поискать. Но если мир программирования затянет пользователей — его изучение рекомендуется.

C++

Один из популярных языков среди программистов. Написать на нём можно всё — от простой программки до сложного продукта со множеством функций. Материалов по изучению языка предостаточно в свободном доступе — в интернете, учебниках по программированию, на форумах многие обсуждают куски кода и рассказывают о том, что придумали. Несмотря на то, что сначала он может показаться сложным, в дальнейшем, когда пользователь научится полностью им управлять, это принесёт немало преимуществ.

Python

Классика, которая навсегда останется любимой среди программистов. Язык — основа, которую изучают как любители, так и профессионалы. Как и Си++, Python подойдёт для того, чтобы писать программы на простом уровне, отвечающие за базовые функции или для более сложных продуктов.

Python, сколько бы ни спорили пользователи интернета, остаётся первым в списке рекомендаций, когда спрашивают: «С какого языка начать программировать». Он — прост в использовании, а обучающих курсов, учебников, материалов — более, чем достаточно, чтобы каждый нашёл то, что поможет ему изучить язык лучше.

Java

Такая же классика, как и Python, рекомендуемая к изучению. Это — улучшенная версия C++, с большим функционалом. С помощью Java происходит написание программ для игр, бизнеса, менее масштабных целей. Запускается на Операционных системах любого типа, что делает его любимым, помогает использовать и проверять везде.

Для каждого понадобится установить специальный текстовый редактор, желательно — вместе с компилятором. В отличие от написания в блокноте, специальные редакторы выделяют функции цветами и выделяют их по уровням, чтобы было удобнее ориентироваться.

Изучение языка

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

Для изучения могут быть использованы:

  1. Учебники.
  2. Курсы.
  3. Открытые Интернет-ресурсы.
  4. Форумы для программистов.

Написание программы

После долгого изучения стоит приступить к работе над самим продуктом. Первым делом, стоит написать мини-программу, которая будет показывать функционал, интерфейс продукта, который создатель видит в финале. В дальнейшем эта программа — прототип, изменится ещё не один раз, из-за невозможности реализации некоторых функций.

Для того, чтобы упростить написание, также необходимо использовать немаловажную функцию комментирования. По умолчанию комментарий начинается с символов «//», но может отличаться в зависимости от выбранного языка. Комментарии — строчки, которые не учитываются при компиляции кода, программисты используют их, чтобы отметить, что делает функция или строка. Комментарии упростят работу, когда строчек будет более 500 или 1 000, и поиск чего-то станет сложнее.

Стоит приготовиться к тому, что написание кода — нелёгкое дело. Для него понадобится много нервов, удаления лишних строчек, исправления того, в чём пользователь был уверен с самого начала. Если дело идёт слишком сложно, а принципы программирования — непонятны даже после десяти учебников, стоит обратиться к специалистам, которые знают, что делать. Обращение к профессионалам актуально для тех, кто хочет написать бизнес-программы — иногда для их написания новичкам нужна помощь.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *