サプライヤーから毎日のxmlファイルをダウンロードしたい。ログインして[ダウンロードを受け入れる]リンクをクリックし、chromedriverを使用してダウンロードを開始しました。
しかし、「このタイプのファイルはコンピュータに害を及ぼす可能性があります」というポップアップが表示されます。ページのMIMEはtext / htmlですが、リンクがtext / javascriptかどうかわかりません
私は次のようなオプションですべての提案された解決策を試しました
print('Starting..')
prefs = {
'download.default_directory': 'C:\\Users\MainDesk\Downloads',
'download.prompt_for_download': False,
'download.extensions_to_open': 'xml',
'safebrowsing.enabled': False
}
options = Options()
options.add_experimental_option('prefs',prefs)
browser = webdriver.Chrome(options=options, executable_path='C:\\chromedriver.exe')
ファイルを自動的に取得するにはどうすればよいですか?
さらに、Chromeの設定に移動し、ファイルの保存を要求をオフにしてみました
Python3.7とVisualStudio、および最新バージョンのchromedriverを使用してWindows7でスクリプトを実行しています
ダウンロードを自動化することは不可能ですか?
いくつかの詳細は、ウェブページ、あなたがしようとしているところからダウンロードしたXMLファイルは、テキストとポップアップの問題をデバッグするために参考にされたかもしれないコンピュータに損害を与える可能性がこの種類のファイル」より良い方法で。
ただし、このWebページからxmlファイルをダウンロードするためのサンプルプログラムは次のとおりです。
コードブロック:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
prefs = {
'download.default_directory': 'C:/Utility/Downloads/',
'download.prompt_for_download': False,
'download.extensions_to_open': 'xml',
'safebrowsing.enabled': True
}
options = webdriver.ChromeOptions()
options.add_experimental_option('prefs',prefs)
options.add_argument("start-maximized")
# options.add_argument("disable-infobars")
options.add_argument("--disable-extensions")
options.add_argument("--safebrowsing-disable-download-protection")
options.add_argument("safebrowsing-disable-extension-blacklist")
driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.get("http://www.landxmlproject.org/file-cabinet")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//span[text()='MntnRoad.xml']//following::span[1]//a[text()='Download']"))).click()
ブラウザのスナップショット:
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加