2013-04-08 3 views
1

이메일 클라이언트가 있습니다. 나는이 사용하는 파이썬 기계화와 같은 뭔가 할 필요 이메일 (이동, detele을, 계란)의 "확인란을"확인 :드롭 다운 메뉴가있는 파이썬 기계화 체크 박스 제출

br.open(login_url) 
br.open(url_1) 
br.select_form(nr=0) 
for i in range(0, len(br.find_control(type="checkbox").items)): 
    if "4" 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() 
print reponseaa 

br.open(url_2) 
br.select_form(nr=2) 
for i in range(0, len(br.find_control(type="checkbox").items)): 
    if "45198" and "4519" in str(br.find_control(type="checkbox").items[i]): 
     br.find_control(type="checkbox").items[i].selected = True 
    else: 
     br.find_control(type="checkbox").items[i].selected = False 
br.form['self'] = ["88"] 
r1 = br.submit() 
print r1 

문제처럼 보이는 드롭 다운 메뉴입니다 제출 버튼, 함께 이 :

<select name="self"> 
<option value="0">Select an action</option> 
<option value="87">Move</option> 
<option value="88">Delete</option> 
<option value="89">Mark as Important</option> 
</select> 
<input type="submit" name="submit" value="Action!"> 

어떻게 삭제를 선택하고 제출 버튼을 누를 수 있습니까? 코드 예제가 좋을 것입니다. 감사.

답변

3

당신은 form from mechanize를 사용해야합니다 mechanize._form.ParseError : 중첩 된 형태

import mechanize 

br = mechanize.Browser() 
br.open(URL) 
br.select_form(nr=0) 
br.form['self'] = ["88"] 
r = br.submit() 

print r.read() 
+0

나는이 오류가 발생합니다. 내가하는 일을 더 잘 이해하기 위해 질문의 코드를 업데이트했습니다. –

+0

다른 양식 안에 하나의 양식이 있기 때문입니다. 이 [질문]에서 약탈하다 (http://stackoverflow.com/questions/7135964/submitting-nested-form-with-python-mechanize) – ton1c

+0

사실. 하나 :

그리고 다른 . 그리고 선택 버튼과 제출 버튼이 두 번째 버튼에 있습니다. BeutifulSoap는 나를 도왔다. 다른 아이디어? –

관련 문제