Я пытаюсь написать программу, которая может автоматически заполнять и отправлять форму в Интернете в определенный промежуток времени.
Но я понятия не имею, как и с чего начать. Я искал это в Google, но только в результате очень общий ответ, как с использованием JavaScript, Python. Может кто-нибудь сказать мне, какие языки я должен изучать в первую очередь?
Несмотря на то, что общий совет по этой теме довольно хорош, он довольно широк. Я сам решил эту проблему, и, несмотря на то, что я опубликовал полнофункциональный пример, он был удален модератором, несмотря на «теоретический ответ на вопросы».
Таким образом, для всех, кто хочет решить эту проблему, вам нужно сделать следующее:
Используйте Selenium и openpyxl, это два относительно простых модуля, которые отлично справятся с этой задачей.
Вы будете использовать селен, чтобы открыть свою веб-страницу и получить соответствующие HTML-элементы, которые вы хотите заполнить. Я предлагаю найти элементы по xPath, если вы плохо разбираетесь в HTML. Xpath Finder Google Chrome аддон сделает это очень легко сделать.
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()
Если вы хотите увидеть реальный рабочий пример, не стесняйтесь писать мне в личку, так как его публикация здесь не способствует обсуждению.
Ответы, которые вы нашли, в общем и целом, правильные. Я постараюсь объяснить это вам.
Когда вы пытаетесь автоматизировать какую-то деятельность, вы должны использовать скриптовый язык в основном
Одним из примеров языка сценариев является питон.
Итак, у вас уже есть свой сценарий. Теперь вам нужно добавить его на страницу. Язык программирования, который может сделать это для вас Javascript, или JS. Это позволяет вам общаться с веб-страницей, получать данные / ссылки или данные POSTing.
Я предлагаю вам написать питон скрипт с использованием библиотеки под названием Selenium Webdriver.
Будет легко реализовать то, что вы имеете в виду.