【问题标题】:Python mechanize checkboxesPython 机械化复选框
【发布时间】:2013-03-30 08:52:54
【问题描述】:

我想使用 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>

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

【问题讨论】:

    标签: python automation mechanize www-mechanize


    【解决方案1】:

    为每个复选框使用这个:

    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()
    

    【讨论】:

    • 谢谢。第一部分效果很好。但不是第二个。
    • 你能给我你正在测试的网站吗?或者如果您尝试在for 循环之前执行print br.find_control(type="checkbox").items,则发布输出是什么
    • 我是这样说的,而且效果很好。非常感谢。 for i in range(0, len(br.find_control(type="checkbox").items)): if "modify" in str(br.find_control(type="checkbox").items[i]): br. find_control(type="checkbox").items[i].selected = False else: br.find_control(type="checkbox").items[i].selected = True reponseaa = br.submit()
    猜你喜欢
    • 2015-09-04
    • 1970-01-01
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    相关资源
    最近更新 更多