def test_form_request_from_response():
# Copied from scrapy tests (test_from_response_submit_not_first_clickable)
def _buildresponse(body, **kwargs):
kwargs.setdefault('body', body)
kwargs.setdefault('url', 'http://example.com')
kwargs.setdefault('encoding', 'utf-8')
return HtmlResponse(**kwargs)
response = _buildresponse(
"""<form action="get.php" method="GET">
<input type="submit" name="clickable1" value="clicked1">
<input type="hidden" name="one" value="1">
<input type="hidden" name="two" value="3">
<input type="submit" name="clickable2" value="clicked2">
</form>""")
req = SplashFormRequest.from_response(
response, formdata={'two': '2'}, clickdata={'name': 'clickable2'})
assert req.method == 'GET'
assert req.meta['splash']['args']['url'] == req.url
fs = cgi.parse_qs(req.url.partition('?')[2], True)
assert fs['clickable2'] == ['clicked2']
assert 'clickable1' not in fs
assert fs['one'] == ['1']
assert fs['two'] == ['2']
test_request.py 文件源码
python
阅读 25
收藏 0
点赞 0
评论 0
评论列表
文章目录