1

我試圖刪除wikisite超過2000垃圾郵件的用戶,所以我用機械化和用戶合併和刪除(鏈接到MediaWiki擴展)。我現在遇到的問題是,對於刪除,機械化有剔一個複選框,這似乎不工作:機械化CheckBox控件不工作蟒蛇

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

我在很多帖子在這裏計算器以及其他網站一看,都說着同樣的

br.form.find_control(name='deleteuser').items[0].selected = True 

應該這樣做。 我做錯了什麼?

+0

你可以給網頁的URL或HTML? – ton1c 2013-04-29 17:33:52

+0

你看到什麼行爲?你有沒有嘗試過使用RobustFactory? – 2013-04-29 19:33:13

+0

html是不相關的,是一個鏈接到一個mediawiki擴展的形式(specialpage:usermergeanddelete)。 – 2013-04-30 01:01:42

回答

1

這確實不是一個解決方案,但應該可以幫助你調試和看到,如果你正在做的事情是錯誤的。以下僅打印您嘗試使用機械化填寫的表單上的所有控件。

for control in form[0].controls: 
    print control 

如果你已經正確地選中該複選框它應該是這樣的:

<CheckboxControl(deleteorwhatever=[*on])> 

我希望這有助於讓你在正確的方向。

0

晚,但這個工作對我來說...

br.find_control("comment_status").items[0].selected = false 

我沒有具體說明(名稱=「comment_status」),但只是在單獨報價的它的名字。