У объекта 'Options' нет атрибута 'set_preference' ошибка при использовании ChromeOptions в Selenium ChromeDriver и Chrome через Python - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь скачать PDF, нажав на кнопку Загрузить, используя селен и питон. Но я получил эту вышеупомянутую ошибку при запуске Chrome, и мой полный тест был разработан для браузера Chrome.

driver.find_element_by_xpath("/html/body/app-root/app-full-layout/div/div[2]/div/div/div/app-list/section/div[2]/div/div[2]/div[2]/div/div[2]/button").click()
time.sleep(7)
options = Options()
options.set_preference("browser.download.folderList", 0)
options.set_preference("browser.download.manager.showWhenStarting", False)
options.set_preference("browser.download.dir", "/DFS")
options.set_preference("browser.helperApps.neverAsk.saveToDisk","application/octet-stream,application/pdf")
driver = driver.Chrome(chrome_options=self.options)

Ожидается выполнение этого кода и загрузка файла PDF

1 Ответ

1 голос
/ 12 июня 2019

selenium.webdriver.chrome.options Класс не включает метод set_preference()

set_preference(name, value) из selenium.webdriver.firefox.options Класс .

Поэтому при работе с ChromeOptions для ChromeDriver и Chrome , вам нужно использовать метод add_argument(argument) вместо следующего:

options = webdriver.ChromeOptions()
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')

Соответствующее обсуждение можно найти в Как загружать XML-файлы, избегая всплывающих окон. Этот тип файлов может нанести вред вашему компьютеру через ChromeDriver и Chrome с использованием Selenium в Python

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