Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 22, 2013 14:47:47

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Grab вывод сообщения ошибки.

Добрый день.
Захожу на почту и отправляю себе на другое мыло тестовое сообщение.

from grab import Grab
def sim():
    g = Grab(log_file='out.html')
    g.setup(proxy='proxy', proxy_type='http', proxy_userpwd='user:pswd')
    g.go("https://e.mail.ru/")
    g.set_input("Login","login")
    g.set_input("Password","pswd")
    g.submit()
    print g.xpath_text("//*")
    g.go("https://e.mail.ru/compose/")
    g.set_input("To","mail")
    g.set_input("Subject","test")
    g.submit()
    print g.xpath_text("//*")
sim()
Письмо не отправляется с почты, оно сохраняется в черновики по неизвестной причине.
Хотелось бы увидеть что выдает почта после сабмита, но print g.xpath_text(“//*”)
выдает 68 страниц текста в котором найти ошибку сложно. out.html страница содержит только строку что сообщение сохранено в черновики.
Возможная проблема при отправке сообщения без текста это запрос о том уверены ли мы в необходимости отправки пустого сообщения, но второй сабмит мне не помог. Сабмит по имени кнопки отправки сообщения не выходит так как у кнопки нет имени.
Кнопка выглядит так :
<a class="button-a js-send" role="submit" tabindex="1" title="Ctrl+Enter">Отправить</a>
Как можно увидеть, что мне сообщает почта?
И как можно решить проблему?

Отредактировано noob_saibot (Окт. 22, 2013 14:51:37)

Офлайн

#2 Окт. 24, 2013 09:09:56

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Grab вывод сообщения ошибки.

Я, может быть, какую чушь “сморозил”, вы мне сообщите об этом… пожалуйста.

Офлайн

#3 Окт. 27, 2013 11:24:36

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Grab вывод сообщения ошибки.

Посмотрите снифером, что отсылает Grab, далее посмотрите снифером, что отсылает браузер, далее сравните. Скорее всего вы не устанавливаете, какую-то POST-переменную при отсылке письма. В частности, проблема может быть в том, что вам нужно выставить имя submit-кнопки, на которую вы “нажимаете”. А т.к. этого имени нет, то майл действует по-умолчанию т.е. сохраняет письмо в черновики.

Офлайн

#4 Окт. 29, 2013 14:25:30

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Grab вывод сообщения ошибки.

Сниффер поставить нет возможности. Я посмотрел что передается в пост с помощью logging (в принципе это же я и видел в firebug'е ):
POST request:
text : test
form_sign : 34342314925017715651296167803246089659
BCC :
To : email@email.ru
cancel : Отмена
message : 5pfZ5Y6G
Body :

F name S name
cloud_files_ids :
old_charset :
form_token : 05077a4e74457a73190706040d010204060d010605080002040302040500080f01010601090b030407070d0e03040d164a545e42554155
draft : Сохранить
actionId : 1
orfo : rus
direction : re
re_msg :
RealName : 0
CC :
security_image_word :
draft_msg :
HTMLMessage : 0
Filedata :
fwd_msg :
attached_ids :
files_id :
files_ids :
template_id :
Subject : test

Я так понял надо заполнить пустые поля чемто мне неизвестным, чтобы отправить письмо?
Есть идеи какой параметр прописать?

Отредактировано noob_saibot (Окт. 29, 2013 14:28:27)

Офлайн

#5 Окт. 29, 2013 18:19:55

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Grab вывод сообщения ошибки.

Посмотрите в firebug, как браузер заполняет поля и сделайте так же.

Офлайн

#6 Окт. 30, 2013 11:04:40

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Grab вывод сообщения ошибки.

Поля заполняются при создании письма, далее после отправки не меняются. Что-то лыжы у меня не едут…
Вот что нашел в firebug:

<form id="sentmsgcomposeForm" class="composeForm editorHTMLMode" enctype="multipart/form-data" name="Compose" method="post" action="/compose/" data-form-inited="yes">
<input type="hidden" value="" name="files_ids">
<input type="hidden" value="" name="actionId">
<input type="hidden" value="" name="text">
<input type="hidden" value="re" name="direction">
<input type="hidden" value="rus" name="orfo">
<input type="hidden" value="" name="form_sign">
<input type="hidden" value="" name="form_token">
<input type="hidden" value="" name="files_id">
<input type="hidden" value="" name="cloud_files_ids">
<input type="hidden" value="5pLcv1GF" name="message">
<input type="hidden" value="" name="old_charset">
<input type="hidden" value="" name="template_id">
<input type="hidden" value="1" name="HTMLMessage">
<input type="hidden" value="" name="draft_msg">
<input type="hidden" value="" name="re_msg">
<input type="hidden" value="" name="fwd_msg">
<input type="hidden" value="" name="attached_ids">
<input type="hidden" value="0" name="RealName">
<div id="sentmsgcomposeError" style="display: none;"></div>
<div id="sentmsgtoolbarComposeTop" class="toolbar toolbar_compose-top toolbar_corner-top">
<div class="jsdn">
!!!!!<input type="submit" value="Отправить" name="send">
<input type="submit" value="Сохранить" name="draft">
<input type="button" value="Отмена" name="cancel">!!!!!</div>
<div class="nojsdn">
<a class="button-a js-send" role="submit" tabindex="1" title="Ctrl+Enter">Отправить</a>
<a class="button-a js-draft" role="submit" tabindex="2" title="Ctrl+S">Сохранить</a>
<a class="button-a js-cancel" role="button" tabindex="3">Отмена</a>
Выделенные строчки скрыты и не меняются ни при создании письма ни при его отправке, зато там есть имена кнопок) submit по этому имени не видит.
Осталось как то к этой скрытой кнопке обратиться. Есть ли идеи как?
PS. Пробовал make_request=False непомогло, строчки остались скрытыми.

Отредактировано noob_saibot (Окт. 30, 2013 11:08:57)

Офлайн

#7 Окт. 31, 2013 06:58:10

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Grab вывод сообщения ошибки.

Попробуйте так grab.submit(submit_name='send')

Я щас глянул код граба, он оставляет только одну submit-кнопку, сортирует их по name аттрибуту и оставляет одну. В вашем случае из send и draft он оставил draft, по-умолчанию.

Офлайн

#8 Окт. 31, 2013 07:48:41

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Grab вывод сообщения ошибки.

Рука лицо… Я писал g.submit(name=“send”) и не мог понять почему не работает!))))
Lorien огромное спасибо за помощь)))

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version