Форум сайта python.su
6
Notan1310Вы правы
может показаться что авторизированы
Офлайн
13
Notan1310g.choose_form(1)
g.choose_form(id="login-form")
Офлайн
0
Не понимаю почему в этом случае поля остаются пустыми при использований простого заполнения форм. Ошибок не выкидывает. Аналогичным способом несколько кабинетов других сервисов опробовал и все нормально работает. В этом случает только post запросом удалось заполнить форму однако на кнопку не в силах почему то нажать
# -*- coding: utf-8 -*- from grab import Grab import time, random import logging logger = logging.getLogger('grab') logger.addHandler(logging.StreamHandler()) logger.setLevel(logging.DEBUG) headers = { '(Request-Line)':'GET / HTTP/1.1', 'Host':'fotostrana.ru', 'User-Agent' : 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:34.0) Gecko/20100101 Firefox/34.0', 'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language' : 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3', 'Accept-Encoding' : 'gzip, deflate', 'Referer' : 'http://fotostrana.ru/signup/login/', 'Cookie' :'', 'Connection' : 'keep-alive' } value = { 'csrftkn':'a285ead63a6f684aece048fbc2f9969e', 'user_email': 'fedorovna.tonya@4**0mail.ru', 'user_password':'iet***uj9', 'submitted':'1', 'issetFields[]':'csrftkn', 'issetFields[]':'user_email', 'issetFields[]':'user_password', 'issetFields[]':'submitted', '_fs2ajax':'1' } g = Grab( headers=headers) g.setup(hammer_mode=True, hammer_timeouts=((2, 5), (10, 15), (20, 30))) g.go('http://fotostrana.ru/signup/login/', log_file='outtest.html') time.sleep(3) for elem in g.doc.select(".//*[@name='csrftkn']"): csrftkn = elem.attr('value') value['csrftkn'] = csrftkn g.setup(multipart_post=value) g.request() g.choose_form(xpath==".//*[@id='login-form']") g.set_input_by_xpath(".//*[@id='user_email']", "fedorovna.to**nya@40mail.ru") g.set_input_by_xpath(".//*[@id='user_password']", "iet**uj9") #g.submit(".//*[@id='loginPopupSubmitButton']") time.sleep(2) #g.go('http://fotostrana.ru')
Отредактировано Notan1310 (Янв. 18, 2015 22:16:19)
Офлайн
0
Alex_HH
Попробуйте явно указать айди формы, ибо на той странице их несколько.
g.choose_form(id="login-form")
Офлайн
6
Думаю все таки я захожу, просто я в тот момент удалил фото, а без него акк не активен. Теперь все ок.
Проверил на всяк случай, точно зашел. Спарсил инфу со страницы настроек
Отредактировано Kasta_neda (Янв. 18, 2015 22:21:21)
Офлайн
0
Kasta_neda
Думаю все таки я захожу, просто я в тот момент удалил фото, а без него акк не активен. Теперь все ок.
.//*[@id='header-user-menu']/a/span
Офлайн
6
я уже и свой мыльник посмотрел
g.go("http://fotostrana.ru/userinfo/room/settings/", log_file='outtest2.html') for elem in g.doc.select('//*[@id="js-settings-form"]/div[1]/div[2]/div[1]'): print (elem.text()),
Отредактировано Kasta_neda (Янв. 18, 2015 22:24:23)
Офлайн
0
У меня даже по вашему кодесу не заходит. Вот
http://pixs.ru/showimage/Snimokekra_5716217_15651109.png
from grab import Grab g=Grab() #print g.xpath_text('//*') g.go("http://fotostrana.ru/signup/login/") print g.form g.choose_form(1) g.set_input('user_email', 'fedorovna.t**ya@40mail.ru') g.set_input('user_password', 'ie**j9') g.submit() g.go("http://fotostrana.ru/user/79020867/", log_file='outtest.html')
Отредактировано Notan1310 (Янв. 18, 2015 22:29:37)
Офлайн
6
вот формы
==> at http://fotostrana.ru/signup/login/ Form #1 ## ## __Name__________________ __Type___ __ID________ __Value__________________ 1 ftoken-fSignup hidden ftoken-f ... 98fcc4eb4e 2 csrftkn hidden (None) d01d6a64e2b7a93dc85dc40be4427767 3 submitted hidden (None) 1 4 user_name text userName 5 user_sex radio (None) [] of ['m', 'w'] 6 user_email text userEmail 7 1 None submi ... btnRegister Зарегистрироваться 8 terms_agree checkbox (None) ['on'] of ['on'] Form #2 ## ## __Name__________________ __Type___ __ID________ __Value__________________ 1 csrftkn hidden (None) d01d6a64e2b7a93dc85dc40be4427767 2 user_email text user_email 3 user_password password user_pas ... 4 1 None submi ... loginPop ... Войти на сайт 5 submitted hidden (None) 1 Note: submit is using submit button: name="None", value="Войти на сайт"
g.choose_form(1)
Отредактировано Kasta_neda (Янв. 18, 2015 22:37:00)
Офлайн
6
Пароль не меняли? Или еще какие данные?
Офлайн