2013-08-02 2 views
0

, когда я нажимаю на ссылку веб-страницы в браузере Chrome Web с рубином WatirКак загрузить файл в определенное место на .click of watir?

ie.input(:id, "c_ImageButton_Text").click 

.text файл начать загрузку. Я хочу загрузить его в определенное место. Я пробовал этот код, но все равно get.text-файл в месте загрузки по умолчанию. Как загрузить файл .text в определенное место?

download_directory = "#{Dir.pwd}/downloads" 
download_directory.gsub!("/", "\\") if Selenium::WebDriver::Platform.windows? 

profile = Selenium::WebDriver::Chrome::Profile.new 
profile['download.prompt_for_download'] = false 
profile['download.default_directory'] = download_directory 

b = Watir::Browser.new :chrome, :profile => profile 

click here for this code

+1

Это действительно проблема с webdriver/chromedriver –

ответ

0

Как гласит старая пословица, «Существует более чем один способ кожи кошки»:

Вы, конечно, можете попытаться коже, как вы пытаетесь сделать в вашем примере кода. Однако в этом курсе есть ряд проблем. А именно, это конкретный браузер.

Мне очень нравится, как Elemental Селен предлагает достижение действительных испытаний и утверждения о загрузке файлов с помощью rest-client камня для curl URI файла и отстаивание ожидания файла из оттуда: http://elemental-selenium.com/tips/8-download-a-file-revisited

1

Для последней Watir версии 6.6 .1

prefs = { 
    prompt_for_download: false, 
    default_directory: Rails.root.join('tmp').to_s 
    } 
    options = Selenium::WebDriver::Chrome::Options.new 
    options.add_preference(:download, prefs) 
    browser = Watir::Browser.new :chrome, options: options 
Смежные вопросы