Автоматизированный Chromedriver PDF Download Приносит кнопку? - PullRequest
0 голосов
/ 12 сентября 2018

Я использую Selenium для загрузки встроенного PDF-файла, доступ к которому осуществляется через множество сложных слоев логина и других действий браузера.Я настроил свой chromedriver со следующими параметрами для каждой инструкции из других сообщений:

    chromedriver = r'C:\Users\cj9250\AppData\Local\Continuum\anaconda3\chromedriver.exe'
    download_dir = "C:\\Users\\CJ9250\\Downloads\\" # for linux/*nix, download_dir="/usr/Public"

    options = webdriver.ChromeOptions()
    profile = {
            "plugins.plugins_list": [{"enabled": False, "name": "Chrome PDF Viewer"}], 
           "download.default_directory": download_dir , 
           "download.extensions_to_open": "applications/pdf",
           "plugins.always_open_pdf_externally": True,
           "download.prompt_for_download": False,
           "safebrowsing.enabled": True
           }
    options.add_experimental_option("prefs", profile)
    browser = webdriver.Chrome(chromedriver, chrome_options=options)

Однако я получаю это окно, которое мне нужно щелкнуть, прежде чем оно загрузится в указанный каталог:

enter image description here

Элемент 'Open' не имеет xpath, который я могу найти через инспектора.Я предполагаю, что это какая-то внутренняя настройка безопасности для ChromeDriver, но я не могу обойти его.

Моя конечная цель - просто загрузить встроенный PDF-файл на открытой странице Selenium Test,Казалось, это единственный рекомендуемый вариант действий.

reportSho.do OPEN

1 Ответ

0 голосов
/ 13 сентября 2018

Я не уверен, почему это сработало, но я изменил переменную своего профиля на:

profile = {
            "plugins.plugins_list": [{"enabled": False, "name": "Chrome PDF Viewer"}], # Disable Chrome's PDF Viewer
           "download.default_directory": download_dir , 
           "download.extensions_to_open": "applications/pdf",
           "safebrowsing.enabled": False
           }

Оттуда я смог получить элемент рамки на странице с помощью кнопки открытия.У одного из атрибутов элемента был URL.Когда я дал указание браузеру перейти по URL-адресу, он загрузил файл в указанный мной каталог!

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...