Форум сайта python.su
Мне нужно автоматизировать работу на одном форуме, в частности, ставить чекбоксы напротив ников участников, а потом в новой вкадке составлять список “помеченных”.
Как я понял, для этой цели прекрасно подходит Selenium, с помощью которого можно автоматически открывать вкладки с нужными адресами, нажимать на кнопочки с соответствующими id и так далее.
Проблема, однако, в том, что при этом драйвер селениума открывает новое окно хрома, даже если старое было уже открыто - и сделать с этим ничего нельзя. Поэтому я хочу сначала записать куда-то url уже открытой вкладки с форумом, а уже потом этот url пускай себе открывается в новом окне.
И это возвращает меня к вопросу - как получить url из текущей открытой вкладке в хроме? Я пытался получить доступ к окну хрома через функцию FindWindow и доступ к его адресной строке через FindWindowEx, но эта затея у меня почему-то не увенчалась успехом - то ли я неправильно указывал класс и имя окон, то ли еще что-то.
Как же это можно сделать?
Офлайн
rastarokotХочу пройтись по улице, чтобы баб поснимать. Как я понял, для этой цели хорошо подходят красные калоши. Скажите, а чо бабам говорить, пока бежишь за ними? А то калоши шаркают и ничего не слышно, а звук их пугает.
Как я понял, для этой цели прекрасно подходит Selenium
rastarokotАвтоматизировать работу на форуме - понятно. В новой вкладке составлять список помеченных - непонятно. Обычно анализируются запросы, отправляемые браузером при нажатии на кнопку “отправить”, и потом они просто воспроизводятся без всякого браузера.
Мне нужно автоматизировать работу на одном форуме, в частности, ставить чекбоксы напротив ников участников, а потом в новой вкадке составлять список “помеченных”.
Отредактировано py.user.next (Фев. 26, 2017 02:28:19)
Офлайн
py.user.nextИногда это невозможно сделать, к примеру взять сайт одноклассники. У вас задача выкачать оттуда все фотографии со всех альбомов какого-либо пользователя. Так вот там фотографии открываются во фрейме, ссылка на страницу которого генерируется в обфусцированном js-коде, а также ссылка на фотографии временные по токенам. Селениум позволяет эти препятствия обойти.
Обычно анализируются запросы, отправляемые браузером при нажатии на кнопку “отправить”, и потом они просто воспроизводятся без всякого браузера.
Отредактировано wi34rd (Фев. 26, 2017 02:59:15)
Офлайн
py.user.nextЯ понимаю, что обосрать новичков на форуме, потешив свое ЧСВ - это задача номер один Но можно узнать, что конкретно показалось смешным в моей фразе?
Офлайн
Офлайн
rastarokotВот инфа с сайта Selenium'а
Я попробую обрисовать ситуацию яснее
What is Selenium?
Selenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.
Отредактировано py.user.next (Фев. 27, 2017 04:19:49)
Офлайн
wi34rd
https://seleniumhq.github.io/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.webdriver.html?highlight=current%20url#selenium.webdriver.remote.webdriver.WebDriver.current_url
py.user.nextСпасибо. Наверное, с Селениумом я пошел не туда - просто я наткнулся в гугле на несколько ссылок, где люди разбирали подходящие примеры из кода именно на его функционале. А можешь подсказать, в какую сторону копать, чтобы разобраться с тем, как формировать запросы? И - какими инструментами они потом отправляются, если не с помощью браузера?
То, что ты описал, - для этого браузер не нужен, всё превращается в набор запросов, которые посылаются на сайт без всякого браузера. Всех этих людей ты просто скачиваешь на диск, сохраняешь в файл их список и информацию какую-нибудь про них, потом формируешь по этим данным, что нужно отправить обратно, и потом отправляешь точно так же - просто формируя запрос. И потом ты сайт открываешь, а там уже всё расставлено правильно, всё внесено и так далее. Спроси, кто бы здесь стал делать это Selenium'ом, ты никого не найдёшь, потому что это долго, потому что это неудобно, потому это фигня какая-то, которую даже не встроишь потом никуда (cron и прочее), так как будут постоянно окна какие-то вылазить.
Офлайн
rastarokotПисал здесь.
А можешь подсказать, в какую сторону копать, чтобы разобраться с тем, как формировать запросы?
rastarokotПитоном самим. Любой браузер использует протокол HTTP для взаимодействия с сервером. Это текстовый протокол, его можно использовать напрямую, без браузера (хоть через telnet).
И - какими инструментами они потом отправляются, если не с помощью браузера?
Офлайн
py.user.nextСпасибо, покопаюсь.
Офлайн