我遇到的主要問題是從表中提取數據,但也歡迎任何其他常規提示。我正在處理的表格大約有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
操作table = b.table(:index, 5).to_a
接管一分鐘時的表有20行。看起來應該是非常快的將一個20 X 25表的單元格放入一個數組中。我需要爲80多張桌子做這個,所以最終需要1-2個小時才能完成。爲什麼需要這麼長時間,我該如何提高速度?
我試圖遍歷表中的行而無需首先轉換到一個數組爲好,但在性能上沒有改善:
b.table(:index, 1).rows.each do |row|
# ...
使用Windows 7和Ubuntu相同的結果。我也試過Firefox而不是Chrome,但沒有明顯的區別。
這也是我所建議的,尤其是基於與Alister在conf上的一些對話,他將這種方法用於他的掃雷機器人。 – 2012-03-30 22:16:24