Основная проблема, с которой я столкнулся, - это вытащить данные из таблиц, но любые другие общие советы тоже будут приветствоваться. Таблицы, которыми я занимаюсь, имеют примерно 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 без заметной разницы.
Это то, что я бы предложил, особенно на основе некоторых разговоров с Алистером в conf, он использовал этот подход для своего тральщика-робота. –