私が持っている主な問題は、テーブルからデータを取り出すことですが、他の一般的なヒントも歓迎します。私が扱っているテーブルは、およそ25の列とさまざまな数の行(5〜50のどこでも)を持っています。watir-webdriverの自動スクリプトのパフォーマンスを向上させるには
現在、私はテーブルをつかんで、配列に変換しています:
require "watir-webdriver"
b = Watir::Browser.new :chrome
b.goto "http://someurl"
# The following operation takes way too long
table = b.table(:index, 1).to_a
# The rest is fast enough
table.each do |row|
# Code for pulling data from about 15 of the columns goes here
# ...
end
b.close
テーブルには20行がある場合の動作table = b.table(:index, 5).to_a
は分を引き継ぎます。 20 X 25テーブルのセルを配列に入れるのは非常に速いはずです。私は80以上のテーブルのためにこれを行う必要があるので、それは実行するために1-2時間かかる。なぜそれは長くかかるのですか?どのように速度を上げることができますか?
Iは、第もアレイに変換することなく、テーブルの行を反復しようとしているが、性能の改善が見られなかった:Windows 7とのUbuntuを使用して
b.table(:index, 1).rows.each do |row|
# ...
同じ結果が。私はまた、Chromeの代わりにFirefoxを目立つ違いなく試しました。
これは、私が特にconfにアリスターといくつかの会話に基づいて、彼は彼の掃海ロボットのためのこのアプローチを使用し、提案してきたであろうものもあります。 –