5

Firefox 4 を watir と webdriver (Win7 x64 上) で使用し、プロファイル項目を設定する方法を学びました。例:

profile = Selenium::WebDriver::Firefox::Profile.new
profile["browser.download.useDownloadDir"] = true
profile["browser.download.dir"] = 'D:\\FirefoxDownloads'
profile["browser.helperApps.neverAsk.saveToDisk"] = "application/csv"
driver = Selenium::WebDriver.for :firefox, :profile => profile
browser = Watir::Browser.new(driver)

以下の例で私がやろうとしているのは、CSV ファイルが常に特定のディレクトリにダウンロードされ、決して開かれないように設定することです。上記のコードは、指定されたディレクトリに自動的にダウンロードされたすべてのファイルを設定することに成功しましたが、設定browser.helperApps.neverAsk.saveToDiskは効果がありません: まだ開く/保存する質問が表示されます. スクリプトの実行後、Firefox ウィンドウは開いたままなので、URL の about:config を入力します。browser.helperApps.neverAsk.saveToDiskに正しく設定されていることがわかりapplication.csvますが、firefox/options/options/applications に CSV ファイルのエントリが表示されません。本当に効果的なメニュー設定は、実際には about:config 設定に拘束されていないようです。私は何を間違っていますか?

4

2 に答える 2

12

これについていくつかテストを行いましたが、残念ながら、CSV ファイルの標準のコンテンツ タイプはないようです。コンマ区切りのコンテンツ タイプのリストを渡すことができます。うまくいけば、そのうちの 1 つが機能します。私にとっては、トリックを行ったのはアプリケーション/オクテットストリームでした...

require 'watir-webdriver'
require 'selenium-webdriver'

profile = Selenium::WebDriver::Firefox::Profile.new
profile["browser.download.useDownloadDir"] = true
profile["browser.download.dir"] = '/tmp'
profile["browser.helperApps.neverAsk.saveToDisk"] = "text/plain, application/vnd.ms-excel, text/csv, text/comma-separated-values, application/octet-stream"
driver = Selenium::WebDriver.for :firefox, :profile => profile
browser = Watir::Browser.new(driver)

browser.goto "http://altentee.com/test/test.csv"
于 2011-04-09T21:24:01.493 に答える
4

Firefox 6 以降では、「browser.download.folderList」の値を具体的に設定しないと、これを機能させることができませんでした。

profile = Selenium::WebDriver::Firefox::Profile.new
profile['browser.download.folderList'] = 2 #custom location
profile['browser.download.dir'] = download_directory
profile['browser.helperApps.neverAsk.saveToDisk'] = "text/csv, application/csv"
b = Watir::Browser.new :firefox, :profile => profile

参照: http://watirwebdriver.com/browser-downloads/

于 2011-08-24T05:48:45.280 に答える