3

私はRubyonRailsでWatirを使用しています。

Watirを使用して数ページのスクリーンショットを保存する必要があります。開いてブラウザに表示したいページを取得できましたが、スクリーンショットをまだ保存できません。これが私のコードです:

@browser = Watir::Safari.new
folios_screenshot_path = Rails.root.join('screenshots/')
@page = Page.find(5)
cur_url = root_url + 'pages/' + @page.id.to_s
@browser.goto cur_url
@browser.div(:id => "page").wait_until_present
@browser.driver.save_screenshot(pagess_screenshot_path + '/' + @page.id.to_s + '.png')
@browser.close

ロードするページには、IDが「page」のdiv要素があり、その要素がWatirブラウザーにロードされるまでWatirを待機させようとしています。しかし、私のメインブラウザでは、「10秒以内にページを読み込めません」というエラーが表示され、スクリーンショットも保存されません。何が悪いのかについて何か考えはありますか?

4

2 に答える 2

4

watir gem がいくつかあります。

safariwatir gem を使用していますが、watir-webdriver の を使用してスクリーンショットを保存しようとしていますdriver.save_screenshot。Firefox でスクリーンショットを撮ることをお勧めします。

watir-webdriver gem をインストールして変更するだけです

@browser = Watir::Safari.new

@browser = Watir::Browser.new :ff

詳細については、私の Watir 本の無料版をお読みください。

https://github.com/zeljkofilipin/watirbook/downloads

于 2011-12-05T11:47:52.897 に答える
0

次のブラウザクラスを試してみてください。うまくいきます。

Browser::BROWSER.driver.save_screenshot(screenshot)

参考

于 2012-09-26T09:46:07.640 に答える