Выбор безымянного текстового поля в механизированной форме (python) - PullRequest
3 голосов
/ 25 января 2011

Так что я делаю программу для пакетного преобразования адресов улиц в координаты GPS с использованием mechanize и python.я впервые использую механизировать.Я могу выбрать форму ("form2") на странице. Однако текстовое поле в форме не имеет имени. Как выбрать текстовое поле, чтобы механизатор мог ввести мой текст? Я пытался выбрать его по его идентификатору. Ноэто не работает.

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>

любая помощь будет высоко ценится.

Ответы [ 2 ]

3 голосов
/ 25 января 2011

form.find_control(id="search")?

1 голос
/ 20 августа 2014

FWIW Я решил это, используя приведенный выше ответ от 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")
...