使用 Watir Webdriver 下载文件
Downloading files with Watir Webdriver
我想使用 Watir Webdriver 从页面下载文件。我需要能够将下载位置设置为我定义的目录。我找到 this page,但那里的代码不起作用:
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
(其中 download_directory 只是我的桌面)给出了这个:
Selenium::WebDriver::Error::UnknownError: unknown error: cannot parse capability: chromeOptions
from unknown error: unrecognized chrome option: profile
(Driver info: chromedriver=2.19.346063 (38b35413bd4a486d436a9749e090454bc9ff6708),platform=Mac OS X 10.11.0 x86_64)
from /Users/myusername/.rvm/gems/ruby-1.9.3-p551/gems/selenium-webdriver-2.48.1/lib/selenium/webdriver/remote/response.rb:70:in `assert_ok'
我猜该代码适用于旧版本的 Watir。如何通过 Watir 设置 Chrome 的下载位置?
您的示例适用于旧的 chrome(webdriver 1)适用于 new 您必须使用以下代码:
prefs = {
'download' => {
'default_directory' => download_directory,
'prompt_for_download' => false,
},
'profile' => {
'default_content_settings' => {'multiple-automatic-downloads' => 1}, #for chrome version olde ~42
'default_content_setting_values' => {'automatic_downloads' => 1}, #for chrome newe 46
}
}
caps = Selenium::WebDriver::Remote::Capabilities.chrome
caps['chromeOptions'] = {:prefs => prefs}
b = Watir::Browser.new :chrome, :desired_capabilities => caps
关于这个问题,你可以参考我以前的 answer
基于 ,我发现我可以使用这个 shorter/cleaner 版本:
preferences = {
:download => {
:prompt_for_download => false,
:directory_upgrade => true,
:default_directory => "download_directory"
}
}
browser = Watir::Browser.new :chrome, :prefs => preferences
我想使用 Watir Webdriver 从页面下载文件。我需要能够将下载位置设置为我定义的目录。我找到 this page,但那里的代码不起作用:
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
(其中 download_directory 只是我的桌面)给出了这个:
Selenium::WebDriver::Error::UnknownError: unknown error: cannot parse capability: chromeOptions
from unknown error: unrecognized chrome option: profile
(Driver info: chromedriver=2.19.346063 (38b35413bd4a486d436a9749e090454bc9ff6708),platform=Mac OS X 10.11.0 x86_64)
from /Users/myusername/.rvm/gems/ruby-1.9.3-p551/gems/selenium-webdriver-2.48.1/lib/selenium/webdriver/remote/response.rb:70:in `assert_ok'
我猜该代码适用于旧版本的 Watir。如何通过 Watir 设置 Chrome 的下载位置?
您的示例适用于旧的 chrome(webdriver 1)适用于 new 您必须使用以下代码:
prefs = {
'download' => {
'default_directory' => download_directory,
'prompt_for_download' => false,
},
'profile' => {
'default_content_settings' => {'multiple-automatic-downloads' => 1}, #for chrome version olde ~42
'default_content_setting_values' => {'automatic_downloads' => 1}, #for chrome newe 46
}
}
caps = Selenium::WebDriver::Remote::Capabilities.chrome
caps['chromeOptions'] = {:prefs => prefs}
b = Watir::Browser.new :chrome, :desired_capabilities => caps
关于这个问题,你可以参考我以前的 answer
基于
preferences = {
:download => {
:prompt_for_download => false,
:directory_upgrade => true,
:default_directory => "download_directory"
}
}
browser = Watir::Browser.new :chrome, :prefs => preferences