2

我想使用 Python Mechanize 来做到这一点。这是 HTML 页面:

<form action="config.php" method="POST">
<div>
<img src="/images/delete1.png" />
<strong>EmptyDir1</strong><br />
<input type="checkbox"  value="3" name="manager[]" />
</div>

<div>
<img src="/images/delete2.png" />
<strong>EmptyDir2</strong><br />
<input type="checkbox"  value="4" name="manager[]" />
</div>

<div>
<img src="/images/copy.png" />
<strong>CopyConf</strong><br />
<input type="checkbox"  value="22" name="manager[]" />
</div>
................. and so on another 20

<div><input type="submit" value="Do Jobs!" /></div>
</form>

我有 2 个问题: 1. 如何从该页面选中所有复选框并提交?2. 我怎样才能选择所有的复选框,除了一个名为“修改”的复选框?代码示例会很棒。谢谢

4

1 回答 1

2

对每个复选框使用它:

import mechanize

br = mechanize.Browser()
br.open(URL)
br.select_form(nr=0)
for i in range(0, len(br.find_control(type="checkbox").items)):
    br.find_control(type="checkbox").items[i].selected =True
reponse = br.submit()
print reponse.read()

这适用于所有除了修改复选框(尚未检查):

import mechanize

br = mechanize.Browser()
br.open(URL)
br.select_form(nr=0)
for i in range(0, len(br.find_control(type="checkbox").items)):
    if "modify" not in str(br.find_control(type="checkbox").items[i]):
        br.find_control(type="checkbox").items[i].selected =True
reponse = br.submit()
print reponse.read()
于 2013-04-08T11:16:58.330 回答