2

Dell Kace のチケット発行ページでフォームを選択しようとしていますが、解析エラーが発生します。私はPythonでプログラミングしており、mechanizeを使用しています。無事にサイトにログインできました。Beautifulsoupのようなhtmlクリーナーでこれを修正できるかもしれないと読みましたが、どれもうまくいかなかったようです。

br = mechanize.Browser() #have tried the various html cleaner options in mechanize
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US;  
rv:1.9.0.1)Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] 
....
url_ticket = 'http://kace-server/adminui/ticket.php?ID=%d' %(box1[sel+1])
url_org1 = "http://kace-server/common/switch_to_org.php?org=1"
br.open(url_org1)
br.open(url_ticket)
br.select_form(name="ticket_form")  
br.form['fields[owner_filter]']=current_user[0]
br.submit()

プログラムが br.select_form 行で失敗し、次のエラーが表示される

line 39, in assign
  br.select_form(name="ticket_form")
....
File "C:\Python27\lib\site-packages\mechanize-0.2.5-py2.7.egg\mechanize\_form.py", 
line 760, in feed raise ParseError(exc)
ParseError: expected name token at '<!\xe2\x80\x94IE7 mode --\n  <'

その '!\xe2... という文字列を html で検索しましたが、見つかりませんでした。select_form で nr=0 も試しました。どんな助けでも大歓迎です

ありがとう、ジェームズ

4

2 に答える 2

0

"\ xe2 \ x80 \ x94"は、utf-8でエンコードされたchar "—"の形式です( "-"ではありません!)。htmlのタイプミス(またはmswordをhtmlエディターとして使用しているダミー?)のように見えますが、「

于 2012-06-14T15:34:17.803 に答える
0
于 2012-06-14T15:36:58.553 に答える