我正在使用Watir Webdriver和无头(phantomjs)浏览器转到网站,登录并点击并使用javascript提交按钮下载文件。当我点击提交时,我被重定向到302到不同的地址我可以在我的网络下看到。这是要下载的文件的网址。我使用屏幕截图进行浏览,所以我可以看到phantomjs工作正常但是在点击提交按钮后,没有任何反应。这整个过程在firefox上工作正常。使用watir webdriver,我如何获得该链接并将其保存在数据库中并重定向我的phantomjs使用该链接下载文件?我尝试阅读github pull请求,官方文档和博客文章但我无法达成任何解决方案。请提供建议或解决方案。即使是一个单词建议也受到赞赏,因为它可以帮助我解决问题。我尝试过获取“http请求标题”但没有成功。我有browser.cookie.to_a
而browser.headers
只给我{ {1}}这样object
。谢谢
答案 0 :(得分:1)
我没有使用Phantomjs找到我的问题的解决方案,但我使用watirwebdriver(0.9.1)headless和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