Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/92: Рейтинг темы: голосов - 92, средняя оценка - 4.84
Kirill_m

Как сделать бота, кликающего по элементам на сайте с ajax?

25.11.2013, 17:12. Показов 25552. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Подскажите как можно с помощью питона открыть ссылку и поочередно тыкать по конкретным html элементам (при клики по ним выполняется ajax запрос) и при этом чтобы я мог работать за пк то есть браузер будет свернут ну действия на страницы должны происходить.
P.S. Если кто знает пните в нужную сторону а то целый день гугл копаю и не чего не надыбал. Заранее спасибо!
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.11.2013, 17:12
Ответы с готовыми решениями:

Как сделать отвечающего бота на сайте?
добрый вечер, подскажите пожалуйста как можно создать на сайте бота отвечающего по системе вопрос-ответ типо юзе пишет ему что нибудь и бот...

Как кликнуть на сайте по всем id элементам?
как кликнуть на сайте по всем id элементам javascript'a ?

Как применить код ко всем элементам на сайте
Как применить код ко ВСЕМ элементам на сайте?

3
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
25.11.2013, 18:36
Тебе нужна библиотека selenium
вот тут есть пример
Чем автоматизировать заполнение форм в браузере (создание ботов)

Автор: Igor Kirsanov

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

1) Селениум
Selenium, это не химический элемент селен, это инструмент для тестирования сайтов. Предназначен он в первую очередь для тестирования, т.е. можно сделать программу и смотреть как запускаются браузер, в нем робот ходит по страничкам, кликает по ссылкам, загружает файлы и т.п.

Лично мне нравится модуль под язык программирования питон, хотя доступно и для других языков, а также автономная IDE для браузера firefox.
Установка для питона достаточно простая
С сайта seleniumhq.org загружаем Selenium Client Drivers для python, распаковываем и устанавливаем как обычно, для виндовс через файл setup.py -install
Пример программы на python
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/env python 
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time
 
browser = webdriver.Firefox() # Get local session of firefox
browser.get("http://www.yandex.ru") # Load page
assert "Яндекс".decode("utf-8") in browser.title
elem = browser.find_element_by_name("text") # Find the query box
elem.send_keys("http://www.site.com/".decode("utf-8") + Keys.RETURN)
time.sleep(0.2) # Let the page load, will be added to the API
В данном примере запускается браузер Mozilla Firefox, скрипт переходит на страницу поиска яндекса. В строке поиска набирает название этого сайта www.site.com и нажимает кнопку поиска.

Для тех кому нужна простая автоматизация, например просто выполнение типовых действий, лучше использовать дополение к браузеру firefox под названием Selenium IDE
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
25.11.2013, 19:23
Kirill_m, можно прямо запросы нужные слать - это requests, а не по браузеру тыкать)
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
25.11.2013, 20:25
Wolkodav, это не во всех задачах подходит. Я вот писал бота недавно, сначала по глупости тоже решил просто слать запросы через requests. Но после изучения сайта я понял, что он весь построен на ajax и введёные значения обрабатываются сначала js и только потом отсылаются на сервер. То есть, чтобы элементарно авторизоваться и перекопал пол сайта.

Сейчас детально описывать свои мытарства не буду, просто мораль всего этого рассказа, что когда сайт напичкан js и страница обновляется через ajax, requerst не поможет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.11.2013, 20:25
Помогаю со студенческими работами здесь

Как научить бота, работающего на сайте автоматически сохранять файлы
Я написал бота который регится и кликает на кнопку "сохранить" на сайте. Проблема в том что кнопка вызывает "сохранить как" для...

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

Как сделать бота
Как можно сделать бота для 2D шутер? Ну просто что бы бегал, прыгал по платформам и стрелял, да и что бы не сильно лёгкий был... Спасибо

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

Как сделать отвечающего бота?
помогите пажалуйста!!! не могу разобраться! как с помощью php сделать отвечающего бота ? типо есть некий массив слов на php и нужно чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru