Python 使用BeatifulSoup启用复选框

Python 使用BeatifulSoup启用复选框,python,html,beautifulsoup,Python,Html,Beautifulsoup,我有一个表单,它有一个复选框和一个提交按钮,看起来像: <form name="create" id="FormCreate" action="/create/0" method="post"> <div id="condition_D"> <input type="checkbox" name="condition" title="check me." class="condition" id="condition"> <

我有一个表单,它有一个复选框和一个提交按钮,看起来像:

<form name="create" id="FormCreate" action="/create/0" method="post">
   <div id="condition_D">
      <input type="checkbox" name="condition" title="check me." class="condition" id="condition">
      <label for="condition">You should validate</label>
   </div>
   <div id="submit_D">
      <input type="submit" name="validateButton" value="make a validation" title="Some title">
      <input type="submit" name="cancelButton" value="Cancel" title="Some title">
   </div>
</form>
import requests
from bs4 import BeautifulSoup

header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'
}

data = {
    "condition['value']": "on",
    "form_id": "FormCreate",
    "op": "validateButton"
}

with requests.Session() as s:
    url = "http://www.website.com/create/0"
    r = s.get(url, headers=header)
    soup = BeautifulSoup(r.content, 'html.parser')
    response = requests.post(url, data=data, headers=header)
    print(response.url)
这将返回相同的url和相同的资源:

http://www.website.com/create/0
但它应该把我重定向到另一个页面

我搜索了很多来打开条件复选框并提出请求,但没有成功。有办法解决这个问题吗


我可以使用以下方法找到复选框:

condition = soup.find('input', attrs={'name': 'condition'})
并将该值设置为“开”或“真”:

condition['value'] = 'on'

但我不知道如何进行操作

据我所知,它只是一个解析器,可以更轻松地处理xml或html等数据

如果您想发出请求,可以使用其他库或创建自己的请求。您应该使用chrome中的开发者工具来实际查看请求以及发送到服务器的参数


重定向很容易解释为服务器只返回带有新url的状态码。浏览器(或脚本)负责执行必要的步骤。

据我所知,beautifulsoup只是一个解析器,它使处理xml或html等数据更容易

如果您想发出请求,可以使用其他库或创建自己的请求。您应该使用chrome中的开发者工具来实际查看请求以及发送到服务器的参数

重定向很容易解释为服务器只返回带有新url的状态码。浏览器(或脚本)负责执行必要的步骤