Scrapy - 如何使用多个按钮提交表单

4

我开始使用Scrapy,已经成功爬取了一系列表单,但最后一个表单有两个按钮,拒绝和接受。

<input name="_eventId_AttributeReleaseRejected" style="margin-right: 30px;" type="submit" value="Reject"> 
<input name="_eventId_proceed" type="submit" value="Accept">

我该如何让Scrapy选择“接受”? 我使用了以下代码
def thirdForm(self, response):
    yield FormRequest.from_response(response, 
        formname="Form",
        callback=self.parseResponse)

但默认情况下它选择拒绝,我该怎么办才能通过?

1个回答

4
我找到了如何做到这一点,您可以使用一个叫做clickdata的属性来指定要提交哪个按钮。 它是一个Python字典,包含您想要提交的按钮的名称和/或值。
以下是编辑后的代码。
def thirdForm(self, response):
        yield FormRequest.from_response(response, 
            formname="Form",
            clickdata={"name":"_eventId_proceed", 'value' :'Accept'},
            callback=self.parseResponse)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接