Форум программистов, компьютерный форум CyberForum.ru

Python: Web

Войти
Регистрация
Восстановить пароль
 
weblord
1 / 1 / 0
Регистрация: 16.10.2016
Сообщений: 111
#1

Не могу найти нужную форму (Selenium) - Python

23.12.2016, 23:17. Просмотров 245. Ответов 6
Метки нет (Все метки)

Приветствую форумчан, уже который день бьюсь над проблемой. Есть один сайт, там встроенный текстовый редактор для отправки сообщений, мне нужно найти его, чтобы заполнить нужным сообщением и отправить (НЕ СПАМЕР! Делаю для удобства работы, так как лазить и обновлять странички надоедает). Тут все для меня понятно кроме одного - никак не получается найти этот текстовый редактор через Selenium и, следовательно, отправить сообщение. Пробовал даже в IDE - безрезультатно...

Вот, собственно, сам сайт. Вы можете там пройти регистрацию через временную почту, займет одну минуту. Дальше находите любую тему и там будет кнопка "Отправить сообщение", с чем я никак не могу справиться... Буду горячо благодарен за помощь!!

Добавлено через 48 секунд
НЕ ПИАР!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2016, 23:17     Не могу найти нужную форму (Selenium)
Посмотрите здесь:
Python Selenium
Python Threading и selenium
Python Не работает selenium
Python Selenium + PhantomJS + прокси
Selenium не делает скриншот Python
Прокси в Selenium (PhantomJS) Python
Python Selenium не находит элемент
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jabbson
Модератор
Эксперт по компьютерным сетям
3111 / 2190 / 447
Регистрация: 03.11.2009
Сообщений: 6,933
Записей в блоге: 3
24.12.2016, 00:33     Не могу найти нужную форму (Selenium) #2
при отправке сообщения происходит POST запрос с заголовками:
Кликните здесь для просмотра всего текста
Код
POST /index.php? HTTP/1.1
Host: zismo.biz
Connection: keep-alive
Content-Length: 2652
Cache-Control: max-age=0
Origin: http://zismo.biz
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary8O1eurKYP3MFV5yp
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer: http://zismo.biz/index.php?app=forums&module=post&section=post&do=reply_post&f=13&t=747124
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8
Cookie: guestmessage=1; __ddg_=96774; _gat=1; _ym_uid=1481425108686336253; _ym_isad=2; member_id=147843; pass_hash=d6bac3b598621c4999d3d2ed46479b29; ipsconnect_5ad194a4a8188d52da77724081f22f91=1; coppa=0; add_favorites=1; __ddgu=2419fa12f361498256bce4b3bb9f837f.1703192211; mqtids=%2C; rteStatus=rte; _ga=GA1.2.1935359379.1482528122; _ym_visorc_10358518=w; session_id=0ae859a3e8d512d7a42996ff1640f2cd
и пэйлоадом
Кликните здесь для просмотра всего текста
Код
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="enableemo"

yes
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="enablesig"

yes
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="isRte"

1
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="noSmilies"

0
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="noCKEditor_editor_585d956fd3f11"

0
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="Post"

<p>Тестовое сообщение в тестовой теме.</p>

------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="FILE_UPLOAD"; filename=""
Content-Type: application/octet-stream


------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="FILE_UPLOAD"; filename=""
Content-Type: application/octet-stream


------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="st"

0
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="app"

forums
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="module"

post
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="section"

post
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="do"

reply_post_do
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="s"

0ae859a3e8d512d7c79996ff1640f2cd
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="p"

0
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="t"

747124
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="f"

13
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="parent_id"

0
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="attach_post_key"

fc9e02a99a2dd93c711d5d6070b72d13
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="auth_key"

8996ce5b9caf7d053090b011a8d54972
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="removeattachid"

0
------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="return"


------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="_from"


------WebKitFormBoundary8O1eurKYP3MFV5yp
Content-Disposition: form-data; name="dosubmit"

Отправить
------WebKitFormBoundary8O1eurKYP3MFV5yp--


можете попробовать имитировать похожие телодвижения.
weblord
1 / 1 / 0
Регистрация: 16.10.2016
Сообщений: 111
24.12.2016, 01:58  [ТС]     Не могу найти нужную форму (Selenium) #3
Цитата Сообщение от Jabbson Посмотреть сообщение
можете попробовать имитировать похожие телодвижения
Спасибо за ответ в теме, но, если честно, не очень понятно, как это реализовать в Selenium. Суть в том, что я пытаюсь найти элемент с атрибутом 'textarea', пробовал xpath, css-селекторы, короче говоря - все, что только можно. Не помогает, постоянно выбивает ошибку про то, что элемент не найден.. Был бы очень признателен, если бы вы привели пример Selenium-кода, который будет отправлять сообщение
Jabbson
Модератор
Эксперт по компьютерным сетям
3111 / 2190 / 447
Регистрация: 03.11.2009
Сообщений: 6,933
Записей в блоге: 3
24.12.2016, 04:00     Не могу найти нужную форму (Selenium) #4
потому что ищите не в том фрейме.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from selenium import webdriver
 
login = 'login_here'
password = 'passwowrd_here'
 
driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')
driver.get('http://zismo.biz/login')
 
# login
driver.find_element_by_id('ips_username').send_keys(login)
driver.find_element_by_id('ips_password').send_keys(password)
driver.find_element_by_class_name('input_submit').click()
 
driver.get('http://zismo.biz/index.php?app=forums&module=post&section=post&do=reply_post&f=13&t=747124')
driver.switch_to.frame(driver.find_element_by_xpath('//iframe[@aria-describedby="cke_63"]'))
 
driver.find_element_by_tag_name('body').send_keys('WIN!!1')
weblord
1 / 1 / 0
Регистрация: 16.10.2016
Сообщений: 111
24.12.2016, 18:19  [ТС]     Не могу найти нужную форму (Selenium) #5
Огромное спасибо, работает!

Добавлено через 5 часов 24 минуты
Извините, что достаю, а как теперь выйти из фрейма для дальнейших действий? Примеры из гугла устаревшие и не работают
Jabbson
Модератор
Эксперт по компьютерным сетям
3111 / 2190 / 447
Регистрация: 03.11.2009
Сообщений: 6,933
Записей в блоге: 3
24.12.2016, 18:33     Не могу найти нужную форму (Selenium) #6
Python
1
driver.switch_to.default_content()
Добавлено через 1 минуту
не надо читать гугл - читайте официальную документацию
http://selenium-python.readthedocs.i...ows-and-frames
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2016, 18:34     Не могу найти нужную форму (Selenium)
Еще ссылки по теме:
Selenium не запускает браузер Python
Python Selenium, выделение текста на странице
Изменить размер окна в Selenium Python
Python Selenium. Клик по Java объекту
Python Selenium PhantomJS. Прокси с авторизацией

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

Или воспользуйтесь поиском по форуму:
weblord
1 / 1 / 0
Регистрация: 16.10.2016
Сообщений: 111
24.12.2016, 18:34  [ТС]     Не могу найти нужную форму (Selenium) #7
Благодарю!
Yandex
Объявления
24.12.2016, 18:34     Не могу найти нужную форму (Selenium)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru