gpt4 book ai didi

python-3.x - Python + Mechanize - 使用 POST 模拟 Javascript 按钮单击?

转载 作者:行者123 更新时间:2023-12-04 16:20:13 25 4
gpt4 key购买 nike

我正在尝试在网站上自动填写汽车保险报价表:
(遵循与站点 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
Javascript POST

最佳答案

解决了我自己的问题-
脚步:

  • 在浏览器中打开开发工具
  • 转到网络选项卡并清除
  • 与表单元素交互(在我的例子中是 car rego finder)
  • 点击交互中发生的事件
  • 复制准确的 URL、请求 header 数据和有效负载
  • 我用Postman快速测试了请求和响应是否正确/和Webform一样,找到了相关的headers
  • 在 postman 中转换为 python 请求代码

  • 现在我可以完全与表单交互

    关于python-3.x - Python + Mechanize - 使用 POST 模拟 Javascript 按钮单击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63243135/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com