Muhtemelen bununla ilgili en önemli şey, c9 kullanıyorum. Bulutta bir IDE var ve bu yüzden Chrome veya Firefox'u Watir ile kullanmaya çalışırken bana çok fazla sorun veriyor, çünkü Chrome veya Firefox tarayıcısına bir yol yazamam. Ayrıca bulabileceğim her çeşit bekle yöntemini denedim ama hiçbiri işe yaramadı.Watir, web sayfasını ziyaret ettikten sonra herhangi bir element bulmaya çalışırken zaman aşımına uğradı.
def save
require 'watir'
require 'phantomjs'
@browser = Watir::Browser.new :phantomjs
@browser.goto "https://kroger.softcoin.com/programs/kroger/digital_coupons/?origin=DigitalCoupons&banner=Smiths#contentBox"
@browser.div(id: "contentBox").wait_until(&:present?).text
@products = @browser.divs
end
Hata
"contentBox" # true durum için bekleyen 30 saniye sonra zaman aşımına: TAG_NAME => "div"}>
ben bu sorunu çözmek için istediğiniz şekilde Smiths web sitesinden veri kazımak mümkün değil bir krom tarayıcı kullanmaktır, ancak "chromedriver 127.0.0.1:9515" bağlanamıyor hatası alıyorsunuz "
Bu özellik, firefox'ta düzgün çalışır ve otomatik olarak beklediği için wait_until() yöntemini kullanmanız gerekmez: varolan: present: enabled. Lütfen firefox için geckodriver kullanmayın, eski firefox kullanın, çok düzgün çalışıyor. – RAJ
Kesinlikle gerekmedikçe eski Firefox kullanmayın; geckodriver bu noktada tam özellikli yakındır. Legacy Firefox, önümüzdeki Selenium 4'te bir seçenek olmayacak. Chrome Sürücü şu anda en iyi destekleniyor, 'Watir :: Browser.new: chrome, başsız: true' yerine phantomjs için bir seçenek olarak göz atın. Daha hızlı ve phantomjs kullanımdan kaldırılıyor. – titusfortner
@titusfortner Firefox'un 52 esp versiyonunda selenyum desteğini geri yüklediğini biliyor musunuz? – RAJ