mirror of https://github.com/scrapy/scrapy.git
Make sure value attribute values are set.
This commit is contained in:
parent
2c28b53cc0
commit
937277e859
|
|
@ -159,7 +159,7 @@ def _get_clickable(clickdata, form):
|
|||
# If we don't have clickdata, we just use the first clickable element
|
||||
if clickdata is None:
|
||||
el = clickables[0]
|
||||
return (el.get('name'), el.get('value'))
|
||||
return (el.get('name'), el.get('value') or '')
|
||||
|
||||
# If clickdata is given, we compare it to the clickable elements to find a
|
||||
# match. We first look to see if the number is specified in clickdata,
|
||||
|
|
@ -171,7 +171,7 @@ def _get_clickable(clickdata, form):
|
|||
except IndexError:
|
||||
pass
|
||||
else:
|
||||
return (el.get('name'), el.get('value'))
|
||||
return (el.get('name'), el.get('value') or '')
|
||||
|
||||
# We didn't find it, so now we build an XPath expression out of the other
|
||||
# arguments, because they can be used as such
|
||||
|
|
@ -179,7 +179,7 @@ def _get_clickable(clickdata, form):
|
|||
u''.join(u'[@%s="%s"]' % c for c in six.iteritems(clickdata))
|
||||
el = form.xpath(xpath)
|
||||
if len(el) == 1:
|
||||
return (el[0].get('name'), el[0].get('value'))
|
||||
return (el[0].get('name'), el[0].get('value') or '')
|
||||
elif len(el) > 1:
|
||||
raise ValueError("Multiple elements found (%r) matching the criteria "
|
||||
"in clickdata: %r" % (el, clickdata))
|
||||
|
|
|
|||
Loading…
Reference in New Issue