

言語はruby、seleniumのバージョンは2.2、ブラウザはfirefox31.4です。

Facebookでログインボタンをクリックした後、メンバーページへ移動するのですが、  
そのメンバーページではかなり高い確率でいつまで経っても読み込みが終わらないため、タイムアウトの時間を長く設定してもエラーで終了してしまいます。

[code]

    /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)
    
[/code]

そのため強制的に読み込みを停止させる、読み込み中であっても次の画面へ遷移させる、などのなんらかの方法で次に進ませたいのですが、何か良い解決策はありませんでしょうか？  
宜しくお願いします。


CC BY-SA 3.0
2015-10-04T03:08:26.433
17238
2016-10-15T16:01:14.933
2015-10-04T03:19:47.583
5337
12557
question
ruby selenium
Selenium Webdriverで絶対に読み込みがタイムアウトになるのをなんとかしたい


自分も同じようなサイトで困って読み込みがやけに長ければ無理やりescを押したりするようにコードを書きましたが上手くいきませんでした。  
で、結果的にベストな方法では無いと思っていますが、例外処理を書いてしまうという方法で今でも何とかしてます。  
読み込みがいつでも長い場合はこれでは対処できないと思いますが稀に長くない時に突破出来るかと思います。

[code]

    def try(n=5) #5回くらい例外処理実行
      #通常処理
      driver.quit #ブラウザ終了
     rescue => e
      driver.quit #ブラウザ終了
     if n==0
      raise e
     else
      try(n-1)
     end
    end
    
[/code]


CC BY-SA 3.0
2015-10-04T09:08:37.477
17242
2015-10-04T09:08:37.477
12568
17238
answer