Всем привет. Хочу скриптом отправить сообщение в чат. Технически надо только выбрать форму, заполнить поле и нажать кнопку. Никакой регистрации, динамических страниц и всего такого.
Для тренировки выбрал чат http://esl-chat.com/.
Так вот, в Mechanicalsoup делаю все как по книжке -
import mechanicalsoup
browser = mechanicalsoup.StatefulBrowser()
browser.open("http://esl-chat.com/")
с = browser.get_url()
print("Заходим на " +с)
browser.get_current_page()
browser.select_form()
browser.get_current_form().print_summary()
По идее последняя команда должна распечатать все доступные поля из формы. Но похоже что он не видит форму. Тогда странно что после browser.select_form() не выдает ошибку. Как я понял из документации эта команда выбирает первую форму на странице, если параметр не указан явно.
Если набираем
b = browser.select_form()
print(b)
То он пишет что выбран объект 0x099четатамеще. Заметил что каждый раз эти цифры меняются. Это страница динамическая или он каждый раз хватает разный объект думая что это форма? Или хватает не ту форму и присваивает ей временное имя?
Просматривая код страницы подумал что там форм вообще нет, а сделано через таблицы все как-то. Как их выбирать, если это так?
Стоит сказать что в html, css и всем таком я разбираюсь крайне слабо, так что пожалуйста объясните как для аутиста.
И не лучше ли это дело как то через request оформить? (параметры запросов смотреть умею)
Отредактировано Oberoda (Ноя. 8, 2018 21:43:09)