1

サイトへのログインに問題があります:

<form action="/shop//loginshop.php" method="POST">
            <input type="hidden" name="weiter" value="/shop//index.php">
            <fieldset>
              <label for="kdnr">KDNR.</label><input type="text" id="kdnr" name="user"><br>
          <label for="pwd">PASS</label><input type="password" name="pw" id="pwd" maxlength="16"><br>
              <input name="login" class="login" type="submit" value="login">
            </fieldset>
            </form>
IDとクラスなしでこのフォームを取得するにはどうすればよいですか

from robobrowser import RoboBrowser
import re

#Browse
browser = RoboBrowser(user_agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6')
browser.open(url)

form = browser.get_form(id='tab_login')
form['login'] = '/shop//loginshop.php'
form['user'] = 'my_user'
form['pw'] = 'my_pass'
browser.submit_form(form)

多分誰かがそれを行う方法を知っています。私はrobobrowserからドキュメントをチェックしましたが、何もありません.すべての例はidまたはクラスでした... Thx

4

1 に答える 1

0

1つのオプションは、action属性が含まれているかどうかを確認することですloginshop:

import re

...
form = browser.get_form(action=re.compile(r'loginshop'))
于 2015-03-18T12:17:51.643 に答える