銀行とかから月イチで明細をダウンロードしてgnucashに突っ込む
と言う作業をここ3年くらいやっている。
正直面倒くさいので、mechanizeで自動化しようとした。
とりあえず以下の明細をとりたかった
・イオンカード
・中国銀行VISAカード
・中国銀行
・SMBC
・ゆうちょ
このうち、イオンカードと中銀VISAと中銀はjavascriptを解析して
mechanizeで自動取得できた。
他の(特にゆうちょ)は javascriptバリバリでちょっと無理。
と思ったら、中銀に改造が入ったらしく、javascriptの割合が増えて動かなくなった。
もうmechanize使ってjavascript解析してってのはやってらんないってことで
他のを探してwatirってのを見つけた。
ちょっと前までは要素が無いものに対してexists?を実行すると落ちてたけど、
最近updateしたら直っているようだ。
自動化するためのメモをいくつか書いておく。
・要素の調べ方
右クリックで「要素を調査」を選んだら色々調べられる。
・ofxファイルダウンロード 先の指定
普通に動かすとダウンロードダイアログが出てしまうので起動するブラウザの設定を変える。
profile = Selenium::WebDriver::Firefox::Profile.new
profile["browser.download.useDownloadDir"] = true
profile["browser.download.dir"] = '~/work/mechanize/smbc'
profile["browser.download.folderList"] = 2
profile["browser.helperApps.neverAsk.saveToDisk"] = "application/x-ofx"
driver = Selenium::WebDriver.for :firefox, :profile => profile
b = Watir::Browser.new(driver)
・フレーム
中銀はフレームを使って無いように見えて使ってたりするのでハマった
f = b.frame(:index=>0)
f.link(:href=>/hogehoge/).exists?
・ゆうちょは明細ダウンロードが無い
table要素を配列にできる
hairetu = b.table(:class=>"hogehoge").to_a
最近ゆうちょ使ってなくて明細にログが無いので未確認だけど、そのうちやる。
2013年1月13日日曜日
ubuntu 12.10 byobuのエスケープキー
いままでbyobuのバックエンドをscreenにして使ってた(エスケープキーが変えられなかったから)
設定メモ: screenでマウススクロール
12.10でもUIでエスケープキー変えられないのは相変わらず。
なんでなんだろう。
とりあえずtmuxの設定を直書きする事にした。(Ctrl-gに設定)
~/.byobu/keybindings.tmuxに
set-option -g prefix C-g
を追加
byobuだと分割とかの設定がtmuxとかscreenとかと違うっぽい
よく使う機能
shift-F2 -> 横分割(Ctrl-g "は違うっぽい)
Ctrl-g % -> 縦分割
Ctrl-g Tab -> 分割間の移動
Ctrl-g 1 -> 分割やめる
Ctrl-g n or p -> ウインドウ移動
Ctrl-g d ->デタッチ
Ctrl-g [ ->コピー(スペースで開始→Enterで確定(何か分かりにくい))
Ctrl-g ] -> ペースト
Ctrl-g A ->ウインドウへの命名
まあこんくらいメモっとけば大丈夫だろう。
設定メモ: screenでマウススクロール
12.10でもUIでエスケープキー変えられないのは相変わらず。
なんでなんだろう。
とりあえずtmuxの設定を直書きする事にした。(Ctrl-gに設定)
~/.byobu/keybindings.tmuxに
set-option -g prefix C-g
を追加
byobuだと分割とかの設定がtmuxとかscreenとかと違うっぽい
よく使う機能
shift-F2 -> 横分割(Ctrl-g "は違うっぽい)
Ctrl-g % -> 縦分割
Ctrl-g Tab -> 分割間の移動
Ctrl-g 1 -> 分割やめる
Ctrl-g n or p -> ウインドウ移動
Ctrl-g d ->デタッチ
Ctrl-g [ ->コピー(スペースで開始→Enterで確定(何か分かりにくい))
Ctrl-g ] -> ペースト
Ctrl-g A ->ウインドウへの命名
まあこんくらいメモっとけば大丈夫だろう。
登録:
投稿 (Atom)