Доброго времени суток. Не удается проити простую авторизацию с Grab. Не понимаю в чем проблема. Не находит элементы и все хоть убей. В лог файле форма есть и интервал задержки указывал. Выдает ошибку что селектор ввода не найден.
Traceback (most recent call last):
File "main.py", line 29, in <module>
g.set_input(".//*[@id='userName']", 'fedorovna.tonya@mail.ru')
File "/usr/local/lib/python2.7/dist-packages/grab/ext/form.py", line 125, in set_input
elem = self.form.inputs[name]
File "/usr/lib/python2.7/dist-packages/lxml/html/__init__.py", line 946, in __getitem__
"No input element with the name %r" % name)
KeyError: 'No input element with the name ".//*[@id=\'userName\']"'
# -*- coding: utf-8 -*-
from grab import Grab
import time, random
headers = {
'Host':'www.google.ru',
'User-Agent' : 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:34.0) Gecko/20100101 Firefox/34.0',
'Accept' : 'image/png,image/*;q=0.8,*/*;q=0.5',
'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/',
'Connection':'keep-alive',
}
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)
g.set_input(".//*[@id='user_email']", '********')
g.set_input(".//*[@name='user_password']",'*****')
g.submit(".//*[@id='loginPopupSubmitButton']")
print 'Авторизация прошла успешно'