オンライン銀行口座にログインして、取引履歴を印刷したい。
Splinterと呼ばれる機械化の代替手段を使用しています。これは、はるかに使いやすく、より明確に文書化されているためです。
私が書いたコードでは、パスワード フォームに入力しようとするとエラーが発生します。パスワード フォーム フィールドを正しく識別できないようです。「name=」属性や css クラス属性がないためです。
コードは次のとおりです。
username2 = '***'
password2 = '***'
browser2 = Browser()
browser2.visit('https://mijn.ing.nl/internetbankieren/SesamLoginServlet')
browser2.find_by_css('.firstfield').fill(username2)
browser2.find_by_id('#ewyeszipl').fill(password2)
browser2.click_link_by_text('Inloggen')
url2 = browser2.url
title2 = browser2.title
titlecheck2 = 'Mijn ING Overzicht - Mijn ING'
print "Stap 2 (Mijn ING):"
if title2 == titlecheck2:
print('Succeeded')
print 'The source is:'
print browser2.html
browser2.quit()
else:
print('Failed')
browser2.quit()
完全なトレースバック:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python "/Users/*/Dropbox/Python/Test environment 2.7.3/Splinter.py"
Traceback (most recent call last):
File "/Users/*/Dropbox/Python/Test environment 2.7.3/Splinter.py", line 45, in <module>
browser2.find_by_id('#ewyeszipl').fill_form(password2)
File "/Users/*/Library/Python/2.7/lib/python/site-packages/splinter/element_list.py", line 73, in __getattr__
self.__class__.__name__, name))
AttributeError: 'ElementList' object has no attribute 'fill_form'
Process finished with exit code 1