web-dev-qa-db-ja.com

Seleniumでファイルのダウンロードを制御する方法+ Python Bindings in Chrome

SeleniumとChrome Webブラウザーで使用できるオプションを説明するドキュメントはどこにありますか?(資格情報を取得するために)Webブラウザーでリンクを開きたいが、対応するものをダウンロードしたくないファイル(.pdfまたは.tiffまたは.jpeg)Python 2.7、Selenium 3.0.1およびChrome version 54.0.2840.99(およびchromedriver。 exe)Windows 7ラップトップ。

# Chrome web browser.
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')  
#options.add_argument('--disable-download-notification') #doesn't seems to work 
#options.add_experimental_option("prefs", {"download.default_directory","C:\Users\xxx\downloads\Test"}) # doesn't work
#options.add_experimental_option("prefs", {"download.Prompt_for_download": False}) # doesn't seems to work
#options.add_experimental_option("prefs", {'profile.default_content_settings': {'images': 2}})# this will disable image loading in the browser
options.add_argument("user-agent="+user_agent_profile)
driver_main = webdriver.Chrome(chrome_options=options)

# Opening the web application portail.
driver_main.get("https://my_link")

私はこのトピックについて多くの議論を見つけましたが、解決策はどれも機能しません。例えば:

add_experimental_option("prefs", {"download.default_directory","C:\Users\xxx\downloads\Test"})

うまくいきません。

同じ:

add_experimental_option("prefs", {"download.Prompt_for_download": False})

(私も "false"で試します)。

その間:

add_argument("user-agent="+user_agent_profile)

動作するようです!

何が悪いのかよくわからない

私が得た問題は、名前がfile(1)file(2).... file(99)のリンクを開くたびにファイルのダウンロードが始まり、100から始まると、「名前を付けて保存」というポップアップウィンドウが開くということです。 。そのため、ファイルをまったくダウンロードしないか、「ごみ箱」の特定のフォルダに移動できるようにしたいと考えています。

Add_argumentおよびadd_argumentで使用できるオプションを見つけるにはどうすればよいですか? Chrome:// about /を見てみましたが、直接の対応がわかりませんでした。

どうもありがとう。

乾杯。

ファビアン。

8

デフォルトディレクトリに宣言したパスは無効です。バックスラッシュをエスケープするか、リテラル文字列を指定します。

options = webdriver.ChromeOptions()
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
})
driver = webdriver.Chrome(chrome_options=options)

利用可能な設定は次のとおりです。

https://cs.chromium.org/chromium/src/chrome/common/pref_names.cc

17
Florent B.

ダウンロードするディレクトリを指定するときにスラッシュ「/」を使用することは、世界中で大きな違いがあります。

これは、そのディレクトリがPowershellなどの通常のバックスラッシュ「\」が適切に機能しない場所にエクスポートされるためだと思います。