小能豆

Scrapy 和 Selenium 提交动态呈现的表单

py

我首先使用 selenium 加载通过 ajax 生成的表单。

现在我在将 selenium 响应传递给 scrapy FormReuqest 方法时遇到了麻烦

发送表单数据值。

表单在用户提交之前经过 jquery 验证,这是否会使使用 scrapy 提交变得更加困难?

任何帮助都将受到赞赏。


阅读 67

收藏
2025-02-21

共1个答案

小能豆

您不需要Scrapyselenium这里也不需要。只需发出底层POST请求并解析 json 响应。使用的示例requests

import json
import requests


URL = 'http://calculator.shipito.com/en/rates'
data = {"location": "10", "country": "GB", "city": "London",
        "postalcode": "123456", 
        "packages": [{"dimensions_units": "in", "weight_units": "lbs", "dimension": {"width": "9", "height": "20.4", "length": "17"},
        "weight": "9", "value": "170"}]}

response = requests.post(URL, data=json.dumps(data))
print response.json()

印刷:

[
    {u'infoUrl': u'http://www.shipito.com/postage#tnt', u'isPromoted': False, u'popularity': 1, u'name': u'TNT Economy', u'deliveryTime': 6, u'insurable': True, u'usesDimWeight': True, u'shippingRate': 68.38, u'separateShippingRate': None, u'bonusShippingRate': 68.38, u'deliveryTimeInfo': u'4-6 business days', u'mps': False, u'insuranceRate': 0, u'logoImg': u'tnt.png'}, 
    ...
]
2025-02-21