Chrome返回“从服务器收到的重复标头”

时间:2015-02-09 15:51:00

标签: ruby google-chrome selenium-webdriver watir-webdriver

以下是评论中回答问题的其他信息:

  1. 这是一个需要登录名和密码的私人网站。不幸的是,出于安全原因,我无法提供此信息。
  2. 你看到的是300行脚本的一部分。它执行以下操作:转到URL,登录页面,浏览到特定页面,从下拉列表中读取文件列表,更改每个帐户的下拉列表选项并下载文件。继续这样做,直到下载完所有文件。
  3. 该网站有大量文件。目前该脚本可以下载30多个文件。每次运行都会在同一个文件中失败。
  4. 如果您有任何疑问,请与我们联系。
  5. 我有一个从网站下载多个文件的脚本。

    我在Chrome中收到以下错误:

      

    从服务器收到的重复标头

    我搜索了网页,似乎指定的文件名必须在引号中。不幸的是,我在下载文件时没有指定文件名,所以我不知道如何解决这个问题。

    以下是我正在使用的代码的一些部分:

    #!/bin/ruby
    
    require 'rubygems'
    require 'watir-webdriver'
    require 'selenium-webdriver'
    require 'headless'
    
    headless = Headless.new(autopick: true, reuse: false, destroy_at_exit: true).start
    
    prefs = {
      :download => {
        :prompt_for_download => false,
        :default_directory => path['xdrive']
      },
      :profile => {
        :content_settings => {
                                :pattern_pairs => {
                                                    :* => {
                                                            :'multiple-automatic-downloads' => 1
                                                          }
                                }
                             }
      }
    }
    client = Selenium::WebDriver::Remote::Http::Default.new
    client.timeout = 60 # seconds - default is 60
    d = Selenium::WebDriver.for :chrome, :prefs => prefs, :http_client => client, :switches => %w[--disable-popup-blocking --disable-translate]
    b = Watir::Browser.new d
    
    @myLinks.each { |option|
        puts "Getting " + option[:text]
        b.select_list(:id, "someField").select_value(option[:value])
        sleep 6
    
        b.goto "https://www.somewebsite.com/DownloadFile.ashx"
        sleep 1
    }
    

1 个答案:

答案 0 :(得分:0)

查看对原始问题的评论

根据@Justin Ko提出的问题,海报发现有帐号名称数据包含导致错误的逗号。从他的夹具数据中删除逗号修复了他的问题。