【发布时间】:2020-06-26 23:20:51
【问题描述】:
我正在尝试用 Python 制作一个机器人,它可以在检测到时将产品添加到我在 Supreme 上的购物车中。我希望它高效,当我尝试使用 HTTP 发布请求来完成工作时,我收到响应代码 200(OK),但产品未添加到我的购物篮中。
我已经用 Python requests 模块和 selenium requests 模块尝试过这个。代码如下:
post_headers = {'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36', 'x-requested-with': 'XMLHttpRequest', 'content-type': 'application/x-www-form-urlencoded'}
post_data = {"utf-8": "%E2%9C%93", 's': size_id, 'st': style_id, "X-CSRF-Token": csrf, "commit": "add to cart"}
url = "https://www.supremenewyork.com/shop/{productid}/add".format(productid=id)
add_to_cart = session.post(url, headers=post_headers, data=post_data)
add_to_cart 的响应是 HTTP 代码 200(OK),但是当我运行 print(add_to_cart.text) 时,我希望看到我添加的产品,但我只看到 [](移动用户代理)或至尊主页html(桌面用户代理),并找出篮子里什么都没有。我也尝试过使用移动用户代理来让它工作(json),但也失败了。
当我尝试使用 selenium 请求时,我使用的是 Google Chrome(否则我使用的是自定义用户代理)。
如果有任何建议或方法来解决此问题,并能够通过 HTTP POST 请求将产品添加到我的购物篮中,我将不胜感激。
【问题讨论】:
-
这个问题不清楚,您目前是否使用您的代码登录?是/否?
标签: python python-3.x selenium python-requests selenium-chromedriver