Написать автозаполнение и отправить программу веб-формы - PullRequest
0 голосов
/ 23 мая 2018

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

Но я понятия не имею, как и с чего начать.Я искал это в Google, но только в результате очень общий ответ, как с использованием JavaScript, Python.Может кто-нибудь сказать мне, какие языки я должен изучать в первую очередь?

Ответы [ 3 ]

0 голосов
/ 23 мая 2018

Я предлагаю вам написать Python скрипт с использованием библиотеки Selenium Webdriver .

Будет легко реализовать то, что вы имеете в виду.

0 голосов
/ 14 февраля 2019

Несмотря на то, что общий совет по этой теме довольно хорош, он довольно широк.Я сам решил эту проблему, и, несмотря на тот факт, что я опубликовал полнофункциональный пример, он был удален модератором, несмотря на то, что «теоретически отвечает на вопросы».

Итак, для всех, кто хочет решить эту проблему, вы захотите сделать следующее: Используйте Selenium и openpyxl, это два относительно простых модуля, которые отлично справятся с этой задачей.

Вы будете использовать селен, чтобы открыть свою веб-страницу и получить соответствующуюHTML-элементы, которые вы хотите заполнить.Я предлагаю найти элементы по xPath, если вы плохо разбираетесь в HTML.Xpath finder google chrome addon сделает это очень простым.

driver.get () и driver.find_element_by_xpath () будут необходимыми вам функциями.

Мы будем использовать openpyxlработать с нашим листом Excel.load_workbook () загрузит рабочую книгу.Затем мы будем использовать функцию «sheet = workbook.active» для доступа к листу из рабочей книги.

Теперь у нас есть возможность открыть наш веб-сайт и выбрать лист Excel.

Сейчаснам нужно присвоить значения ячеек переменным, чтобы мы могли затем заполнить форму HTML.Мы присваиваем переменную каждому столбцу в рабочей книге.Таким образом, если столбец A содержал first_names, мы могли бы присвоить это переменной, написав 'FNAME = sheet [' A '].Теперь, когда у нас есть способ ссылки на ячейки в столбцах, мы можем начать подачу данных в нашу HTML-форму.

Мы заполняем нашу форму с помощью функции .send_keys () в Selenium.

first_name.send_keys(FNAME.value)

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

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

i = 1
x = 1
while x <= 50:
  first_name.send_keys(FNAME[i].value)
  i+=1
  x+=1
driver.quit

Когда цикл повторяется 50 раз, драйвер завершит работу, закроет браузер и остановит скрипт.

Некоторые другие полезные вещи, которые вы можете найти полезными при попытке автоматизировать это:

driver.back()

time.sleep()

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

0 голосов
/ 23 мая 2018

Ответы, которые вы нашли, в общем и целом, верны.Я попытаюсь объяснить это вам.

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

  1. Getссылки на вещи (например, получение индексов, идентификаторов форм / полей и т. д.)
  2. Вставка / изменение материала (например, заполнение поля, следуя ссылкам на поля)
  3. Сохранение материала (подготовка файла с полемссылки и их содержимое, которые могут быть внедрены в конкретную систему или веб-сайт)

Одним из примеров языка сценариев является Python .

Итак, у вас уже естьскрипт.Теперь вам нужно добавить его на страницу.Язык программирования, который может сделать это для вас: Javascript или JS .Он позволяет вам общаться с веб-страницей, получать данные / ссылки или данные POSTing.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...