2017-01-10 10 views
2

私はpythonを使ってフォームに記入する方法を検索し、ほぼすべての答えが "mechanize"を使用することを示唆しています。しかし、フォームを記入するためにmechanizeを使用するには、フォーム名を入力する前にフォーム名を選択する必要があります。Pythonを使用して名前とIDのないウェブフォームを記入してください

br = Browser() 
br.select_form('f') 

「名前」または「ID」フィールドがないフォームがあります。どのように私はそれらを埋めるのだろうか。そのような形式の1つはhereです。フォームの入力フィールドには名前がありますが、フォーム自体には何もないようです。

+0

br.select_form(nr = 0)はあなたに合いませんか? brインスタンス内の最初のフォームを選択します。 – Nevertheless

+0

@KidBinary:それは?私はそれを知らなかった。 –

+0

私はそれが賭ける。また、br.forms()は繰り返し可能であり、ページ上のすべてのフォームを含んでいることを思い出してください。 – Nevertheless

答えて

1

このachiveする第一の方法は、より誤りがちであるが、簡単である:

br = Browser() 
br.select_form(nr=0) 

nrが所与のページ上のフォームのインデックス数です。第二の方法は、br.forms()を反復含まれています

br = Browser() 
forms = [form for form in br.forms()] 

し、必要に応じて必要な形式を選択することができます。

関連する問題