【发布时间】:2020-11-24 07:53:16
【问题描述】:
我正在尝试在网站上自动填写汽车保险报价单: (按照与站点 URL 相同的格式,我们将其命名为:“https://secure.examplesite.com/css/car/step1#noBack”)
我被困在 rego 部分,因为一旦添加了 rego,就需要单击一个按钮来执行搜索,而且这似乎是繁重的 Javascript,我知道 mechanizer 无法处理这个问题。我不精通 JavaScript,但我可以看到,当单击按钮时,会向此 URL 发出 POST 请求:(“https://secure.examplesite.com/css/car/step1/searchVehicleByRegNo”)请看图片也。
如何在 Mechanize 中模拟这个 POST 请求来运行 javascript?所以我可以看到响应/与响应交互?或者这是不可能的?我可以考虑 bs4/requests/robobrowser 代替。我只有大约 4 个月的学习时间!谢谢
# Mechanize test
import mechanize
br = mechanize.Browser()
br.set_handle_robots(False) # ignore robots
br.set_handle_refresh(False) # can sometimes hang without this
res = br.open("https://secure.examplesite.com/css/car/step1#noBack")
br.select_form(id = "quoteCollectForm")
br.set_all_readonly(False) # allow everything to be written to
controlDict = {}
# List all form controls
for control in br.form.controls:
controlDict[control.name] = control.value
print("type = %s, name = %s, value = %s" %(control.type, control.name, control.value))
# Enter Rego etc "example"
br.form["vehicle.searchRegNo"] = "example"
# Now for control name = vehicle.searchRegNo, value = example
# BUT Now how do I click the button?? Simulate POST? The post url is formatted like:
# https://secure.examplesite.com/css/car/step1/searchVehicleByRegNo
【问题讨论】:
标签: python-3.x forms post mechanize mechanize-python