2017-10-25 11 views
2

投稿に基づいてherehere私はファイルをダウンロードできるようにセレンのクロムwebdriverを使用しようとしています。ここでのコードは、これまでpythonでchrome webdriverをseleniumでダウンロードするにはどうすればいいですか?

from selenium import webdriver 
from selenium.webdriver.chrome.options import Options 

chrome_options = Options() 
chrome_options.add_argument("--disable-extensions") 
chrome_options.add_experimental_option("profile.default_content_settings.popups", 0) 
chrome_options.add_experimental_option("download.prompt_for_download", "false") 
chrome_options.add_experimental_option("download.default_directory", "/tmp") 

driver = webdriver.Chrome(chrome_options=chrome_options) 

である。しかし、次のエラーでこれだけの結果は:

WebDriverException: Message: unknown error: cannot parse capability: chromeOptions 
from unknown error: unrecognized chrome option: download.default_directory 
    (Driver info: chromedriver=2.24.417424 (c5c5ea873213ee72e3d0929b47482681555340c3),platform=Linux 4.10.0-37-generic x86_64) 

それでは、どのようにこの問題を解決するために?私はこの「能力」を使う必要がありますか?もしそうなら、どのくらい正確に?

答えて

3

これを試してください。あなたの例外でWindows

How to control the download of files with Selenium Python bindings in Chrome

from selenium import webdriver 
from selenium.webdriver.chrome.options import Options 

options = Options() 
options.add_experimental_option("prefs", { 
    "download.default_directory": r"C:\Users\xxx\downloads\Test", 
    "download.prompt_for_download": False, 
    "download.directory_upgrade": True, 
    "safebrowsing.enabled": True 
}) 
+1

はい、それは...私は間違った方法でオプションを使用しました。適切な文書を入手するのは難しいです。それはどこかに記載されていますか? – Alex

0

上で実行、あなたはchromedriver=2.24.417424を使用しています。

使用しているSeleniumとChromeブラウザのバージョンは何ですか?

は、私は次のコードを試してみました:

  • セレン3.6.0
  • chromedriver 2.33
  • Google Chromeの62.0.3202.62(公式ビルド)(64ビット)

そして、それは動作します:

from selenium import webdriver 

download_dir = "/pathToDownloadDir" 
chrome_options = webdriver.ChromeOptions() 
preferences = {"download.default_directory": download_dir , 
       "directory_upgrade": True, 
       "safebrowsing.enabled": True } 
chrome_options.add_experimental_option("prefs", preferences) 
driver = webdriver.Chrome(chrome_options=chrome_options,executable_path=r'/pathTo/chromedriver') 

driver.get("urlFileToDownload"); 

クロムドライブでサポートされているブラウザ(hereChrome v52-54)を使用していることを確認してください。

関連する問題