2015-08-21 29 views
3

我使用Python 3機械化,使用BeautifulSoup改變一個變量的值,填寫一個WebForm,但它填補了所有領域,但一個。所涉及的領域僅與其他領域不同,因爲它沒有定義類型。下面是從頁面的源代碼的相關片段:無類型使用Python

<input tabindex="1" id="postal_code" name="postal" size="6" maxlength="15" value="" data-emoji_font="true" style="font-family: 'Bitstream Vera Serif', 'Times New Roman', serif, 'Segoe UI Emoji', 'Segoe UI Symbol', Symbola, EmojiSymbols !important;"> 

在該行代碼如下:

postad.find("input",{"name":"postal"})["value"] = "29201" 

我命名錶單對象postad,我希望值是"29201",而是,返回的HTML頁面顯示如下:

<input id="postal_code" maxlength="15" name="postal" size="6" tabindex="1" value=""></input> 

我不知所措,爲什麼我不能去改變這一個字段中的值,但我能填寫ENT ire形式。有什麼明顯的我失蹤了嗎?

原來我做錯過什麼。我發佈的頁面有兩個郵政編碼字段,我填寫了錯誤的一個。現在它工作正常。

回答

2

保持在溫度:

postad.find("input",{"name":"postal"})["value"] = "29201" 

將到postad:

postad["key or position"] = "29201" 

例中詞典列表:

a = [{"name":"a","value":""},{"name","b","value":"s"}] 
for e in a: 
    if e["name"] == "a": 
     d = e 
     d["value"] = "new_value" 
     a[a.index(e)] = d #My answer 
     break 
+0

能否請您詳細闡述您在臨時抱着它是什麼意思?我對Python還是一個新手,我不確定如何使用你的答案。謝謝! – Mynaras

+0

@Mynaras是一個明確的答案? – dsgdfg

+0

是的,我會在代碼中嘗試這個。 – Mynaras