2016-08-09 3 views
0

Я использую Watir Webdriver и браузер без заголовка (phantomjs), чтобы перейти на сайт, войти в него и щелкнуть и загрузить файл с помощью кнопки отправки javascript. Когда я нажму кнопку «Отправить», я перенаправлен с 302 на другой адрес, который я могу видеть под моей сетью. Это URL-адрес файла для загрузки. Я дедуксирую с использованием скриншотов, поэтому я вижу, что phantomjs работает нормально, но после того, как он нажимает кнопку отправки, ничего не происходит. вся процедура работает нормально на firefox too.Using watir webdriver, как я могу получить эту ссылку и сохранить ее в базе данных и перенаправить свои phantomjs, чтобы загрузить файл по этой ссылке? Я пробовал читать запросы на github pull, официальную документацию и сообщения в блогах, но я я не могу связаться с любым решением. Пожалуйста, предоставьте мне предложения или решения. Даже одно предложение слова также оценено, поскольку оно может помочь мне подойти к проблеме. Я попытался получить «заголовки http-запросов», но не смог. У меня есть browser.cookie.to_a и browser.headers дает мне только object вот так Watir::HTMLElementCollection:0x000000024b88c0. Благодарю васЗагрузите файл с помощью Watir Webdriver и phantomjs

+0

Вам необходимо использовать пользовательский профиль Firefox. Недавно я понял, как это сделать, используя селен, хотя я не пробовал с Phantom. См. [Здесь] (https://gist.github.com/MaxPleaner/9d73674916a64bf7f281eac5110972b8) для фрагмента кода –

+0

спасибо @maxpleaner, но я ищу решение без головы. – Unicornz

+0

На самом деле я использую без головы в проекте, откуда этот код. Если вы начинаете безголовую перед запуском драйвера firefox, он будет в безголовом режиме. –

ответ

1

Я не должен был найти решение своего вопроса с помощью Phantomjs, но я решил проблему с помощью watirwebdriver (0.9.1) без головы и firefox (44.0). Это настройки, которые я использовал.

profile = Selenium::WebDriver::Firefox::Profile.new 
profile['download.prompt_for_download'] = false 
profile['browser.download.folderList'] = 2 # custom location 
profile['browser.download.dir'] = download_directory 
profile['browser.helperApps.neverAsk.saveToDisk'] = "application/pdf" 
profile['pdfjs.disabled'] = true 
profile['pdfjs.firstRun'] = false 
headless = Headless.new 
headless.start 

browser = Watir::Browser.new(:firefox, :profile => profile) 
browser.goto 'www.google.com' 
browser.window.resize_to(1280, 720) 
puts browser.title 
puts browser.url 

 Смежные вопросы

  • Нет связанных вопросов^_^