2011-01-24 33 views
3

因此,我正在製作一個程序,使用機械化和python將街道地址批量轉換爲gps座標。這是我第一次使用機械化。我可以在頁面上選擇表單(「form2」),但是表單中的文本框沒有名稱,我如何選擇文本框以便機械化可以輸入我的文本?我試過用它的ID來選擇它。這是行不通的。在機械化表單中選擇未命名的文本字段(python)

br.select_form("Form2") #works as far as i know 
br.form["search"] = ["1 lakewood drive, christchurch"] #this is the field that i cannot select 

,這裏是從該網站的源代碼。

<form name="Form2" > 
or Type an <b>Address</b> 
<input id="search" size="40" type="text" value="" > 
<input type="button" onClick="EnteredAddress();" value="Enter" /> 
</form> 

任何幫助,將不勝感激。

+0

另外`select_form`一個名字應該是這樣的,我認爲:'br.select_form(NAME = 「窗體2」)`但也許該函數是重載採取一個字符串... – cloudrave 2013-03-11 02:37:57

回答

3

form.find_control(id="search")

1

FWI W我通過使用lazy1的上面的答案解決了這個問題,除了我試圖在使用find_control方法之後分配一個值。當然這並不是因爲任務的原因,我更深入地研究了這個方法,並發現了setattr(),這對於爲該字段賦值非常有用。

將無法​​正常工作

br.form.find_control(id="field id here") = "new value here" 

將工作

br.form.find_control(id="field id here").__setattr__("value", "new value here")