因此,可能最重要的是,我使用的是c9。它是雲中的IDE,因此當試圖將Chrome或Firefox與Watir一起使用時,給我帶來了很多麻煩,因爲我無法寫出Chrome或Firefox瀏覽器的路徑。我也嘗試了各種可以找到的等待方法,但沒有一個能夠工作。Watir在訪問網頁後試圖找到任何元素時超時
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
錯誤
超時30秒後,等待在# 「contentBox」 的真實情況,:TAG_NAME => 「格」}>
我想解決這個問題的方法不能從史密斯網站刮數據是使用鉻瀏覽器,但我得到錯誤「無法連接到chromedriver 127.0.0.1:9515」
它在firefox中正常工作,您不必使用wait_until()方法,因爲它會自動等待:exist:present:enabled。請不要使用firefox的geckodriver,使用傳統的Firefox,它的工作非常正常。 – RAJ
不要使用傳統的Firefox,除非你絕對必須;在這一點上,geckodriver已接近完成功能。在即將到來的Selenium 4中,Legacy Firefox可能不會成爲一種選擇.Chrome Driver目前得到最好的支持,請查看'Watir :: Browser.new:chrome,headless:true'作爲phantomjs的替代品。它速度更快,並且phantomjs已被棄用。 – titusfortner
@titusfortner你知道firefox恢復它在52 esp版本中對硒的支持嗎? – RAJ