1. Gregory Petukhov
  2. grab
Issue #5 resolved

Проблема с form_fields

Anonymous created an issue

Отличная библиотека, но вот этот скипт выдает ошибку при попытке отправки второй формы.

{{{

!python

from grab import Grab import sys, traceback import os

youremail = "yourmail@gmail.com" username = "support@vwdforum.com" password = "8ykvjr"

def SendMessage(title, msg): print msg print title

#os.system("echo \"" + msg + "\" | mail -s \"" + title + "\" " + youremail)

try:
g = Grab() g.setup(debug = True) g.setup(log_dir = "./log") g.setup(cookiefile = "./log/cookies") g.setup(user_agent = "Mozilla/5.0 (X11; Linux i686; rv:6.0.2) Gecko/20100101 Firefox/6.0.2")

print "Opening main page"
g.go("http://productfeed.hoseasons.co.uk/")

g.set_input("ctl00$ContentPlaceHolderXMLFeed$loginControl$UserName", username)
g.set_input("ctl00$ContentPlaceHolderXMLFeed$loginControl$Password", password)    
g.submit()

if g.response.code != 200:
    print "Logging in failed. Exiting"
    exit()

print "Successfully logged in"

g.set_input("ctl00$ContentPlaceHolderXMLFeed$cboExportFormat", "CSV")
g.set_input("ctl00$ContentPlaceHolderXMLFeed$txtFilename", "UKPark")
g.set_input("ctl00$ContentPlaceHolderXMLFeed$txtPartnerID", "CD54")
g.submit()

except Exception, err: SendMessage("Productfeed scrape script error", str(err) + "\r\n\r\n" + traceback.format_exc()) }}}

{{{

Traceback (most recent call last): File "grab.py", line 44, in <module> g.submit() File "/home/fff/Desktop/grab/ext/lxml_form.py", line 88, in submit post = self.form_fields() File "/home/fff/Desktop/grab/ext/lxml_form.py", line 132, in form_fields fields[elem.name] = elem.value_options[-1] IndexError: list index out of range }}}

Как я понял, ошибка связана с тем, что элемент select is disabled.

Comments (3)

  1. Alex Istinspring

    вряд ли мне кажется. проверь что это форма одна на странице, если нет нужно выбрать форму

    g.choose_form(num) или если на форме есть id g.choose_form(id='form_id')

  2. Gregory Petukhov repo owner

    Как я понял, ошибка связана с тем, что элемент select is disabled.

    Конкретно вашим тикетом я не занимался. Но недавно я фиксил баг очень похожий на этот (ошибки при попытке обработки пустого select элемента). Сейчас проверил, ваш код отрабатывает без ошибок на последней версии grab.

  3. Log in to comment