質問: 言語はruby、seleniumのバージョンは2.2、ブラウザはfirefox31.4です。 Facebookでログインボタンをクリックした後、メンバーページへ移動するのですが、 そのメンバーページではかなり高い確率でいつまで経っても読み込みが終わらないため、タイムアウトの時間を長く設定してもエラーで終了してしまいます。 ``` /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/protocol.rb:158:in `rescue in rbuf_fill': Net::ReadTimeout (Net::ReadTimeout) ``` そのため強制的に読み込みを停止させる、読み込み中であっても次の画面へ遷移させる、などのなんらかの方法で次に進ませたいのですが、何か良い解決策はありませんでしょうか? 宜しくお願いします。
回答: 自分も同じようなサイトで困って読み込みがやけに長ければ無理やりescを押したりするようにコードを書きましたが上手くいきませんでした。 で、結果的にベストな方法では無いと思っていますが、例外処理を書いてしまうという方法で今でも何とかしてます。 読み込みがいつでも長い場合はこれでは対処できないと思いますが稀に長くない時に突破出来るかと思います。 ``` def try(n=5) #5回くらい例外処理実行 #通常処理 driver.quit #ブラウザ終了 rescue => e driver.quit #ブラウザ終了 if n==0 raise e else try(n-1) end end ```