Çeşitli web sitelerini nasıl ele almak istediğimi yöneten, her ikisinde de benzer yöntemlerle (yani, oturum açma, yenileme) yönetilen birkaç dersim var. Her sınıf kendi WATIR tarayıcı örneğini açar. Ruby Threads with Watir
class Site1
def initialize
@ie = Watir::Browser.new
end
def login
@ie.goto "www.blah.com"
end
end
require 'watir'
require_relative 'site1'
agents = []
agents << Site1.new
agents.each{ |agent|
agent.login
}
Bu iyi çalışır, ancak mevcut bir giriş tamamlanana kadar bir sonraki ajan üzerine doesnt hareket aşağıdaki şekilde hiçbir iş parçacığı ile ana kod bir örnektir. Ben istiyorum Bunu işlemek için çoklu iş parçacığı dahil etmek, ancak işe almak için görünmüyor.
require 'watir'
require_relative 'site1'
agents = []; threads = []
agents << Site1.new
agents.each{ |agent|
threads << Thread.new(agent){ agent.login }
}
threads.each { |t| t.join }
bu bana hata veriyor: bilinmeyen özelliği veya yöntemi: navigate
. HRESULT hata kodu: 0x8001010e. Uygulama, farklı bir iş parçacığı için sıralı bir arabirim olarak adlandırıldı.
Bunu nasıl düzelteceğinizi veya benzer bir işlevselliği nasıl uygulayacağını bilen var mı?
Bu, watir klasiğinde veya kullandığı kütüphanelerden birinde bir hata gibi görünüyor. Firefox ile watir-wedriver kullanırken sorun oluşmaz. –
teşekkürler justin, sana doğru gibi görünüyor. watir-webdriver ile iyi çalışır, bu yüzden watir-classic ile sadece bir hata olduğunu tahmin ediyorum. – cubesnyc