2015-06-19 5 views
1

Я хочу механизировать, чтобы проверить, будет ли текущее значение выбранного dropdown = значением по умолчанию, а затем механизация выберет другое значение в списке. HTML, из выпадающего списка выглядит следующим образом:Mechanize select from dropdown

  <td class="label">List</td> 
      <td> 
       <select name="list" id="list" onchange="list()"> 
        <option>---</option> 
       <option value='1'>1</option> 
<option value='2'>2</option> 
---other options--- 

Мой код:

if br.form["list"] == "---": 
    br.form["list"].value = "1" 
    r = br.form["list"] 
    print(r) 

Однако значение в списке по-прежнему возвращает:

['---'] 

Любая идея?

ответ

2

Вы должны указать значение в виде списка:

if br.form["list"] == ["---"]: 
    br.form["list"].value = ["1"] 

Согласно mechanize - Forms documentation:

# Controls that represent lists (checkbox, select and radio lists) are 
# ListControl instances. Their values are sequences of list item names. 
# They come in two flavours: single- and multiple-selection: 
form["favorite_cheese"] = ["brie"] # single 
form["cheeses"] = ["parmesan", "leicester", "cheddar"] # multi 
+0

Так очевидное! Thx так много! Теперь я так глуп. –

+0

@LeThanhViet, добро пожаловать. – falsetru