Python - 填写并提交HTML表单

3 投票
2 回答
2840 浏览
提问于 2025-04-16 07:42

我想用Python在网页上填写并提交一个表单。这个表单有几个下拉框,这些下拉框是用JavaScript填充的。我查过mechanize这个库,但它不支持JavaScript。你能推荐一个其他的库或者方法来和这个表单互动吗?

谢谢,

皮特

2 个回答

0

这个表单在你按下提交按钮后,会把信息发送回服务器(或者其他地方)。

我不太清楚你是怎么直接和这个表单互动的,但你可以用和提交表单一样的方式,把信息发送回服务器(其实不需要真的提交或者按什么按钮)。

举个例子,有些表单在提交时,会把表单里指定的参数和它们的值放在网址的最后面,作为HTTP请求的一部分。还有一些则把这些参数放在HTTP请求的主体里。在PHP中,我知道PHP会自动把这些参数提取出来(放到一个全局数组里)。

在这种情况下,你只需要在HTTP请求中放入你自己版本的参数(名称/值),可以通过查看表单的源代码来找到这些名称和对应的值。

虽然这个表单可能会通过JavaScript把信息发送到服务器……

如果这样说让你感到困惑,我很抱歉。

3
  1. Selenium RC 或 Windmill (http://www.getwindmill.com/)

  2. 查看表单返回的 GET 或 POST 值;使用 urllib2 直接提交合成的请求。

撰写回答