我正在尝试删除 wiki 网站的 2000 多个垃圾邮件用户,因此我使用了 mechanize 和用户合并和删除(mediawiki 扩展)。我遇到的问题是,为了删除,mechanize 必须勾选一个复选框,但这似乎不起作用:
fi = open('users')
for user in fi.readlines():
response3 = br.open('url')
br.form = list(br.forms())[0]
br['olduser'] = user
br['newuser'] = 'Spambot'
br.form.find_control(name='deleteuser').items[0].selected = True
response4 = br.submit()
print response4.read(), '\njust deleted ', user
fi.close()
我在 stackoverflow 以及其他网站上查看了很多帖子,并且都说相同
br.form.find_control(name='deleteuser').items[0].selected = True
应该这样做。 我做错了什么?
最佳答案
这确实不是一个解决方案,但应该可以帮助您调试并查看是否做错了什么。以下内容仅打印您尝试使用 Mechanize 填写的表单上的所有控件。
for control in form[0].controls:
print control
如果您正确选择了该复选框,它应该如下所示:
<CheckboxControl(deleteorwhatever=[*on])>
我希望这可以帮助您找到正确的方向。
关于python - Mechanize 复选框控件不起作用python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16268467/