selenium: как загрузить локальный HTML-файл на Mac?

#python #selenium

#python #selenium

Вопрос:

Я изучаю selenium с Chrome на Mac.

Мне удалось загрузить домашнюю страницу Google с помощью следующего кода.

 dir_path = os.path.dirname(os.path.realpath(__file__))
driver = webdriver.Chrome(dir_path '/chromedriver')
driver.set_page_load_timeout('10')
driver.get('http://google.com')
time.sleep(4)
driver.quit()
  

исходя из этого, я пытаюсь загрузить локальный HTML-файл с помощью selenium.

 dir_path = os.path.dirname(os.path.realpath(__file__))
driver = webdriver.Chrome(dir_path '/chromedriver')
driver.set_page_load_timeout('10')
driver.get('/Users/selenium/test.html')
time.sleep(4)
driver.quit()
  

chrome запустился со странной строкой.

введите описание изображения здесь

и получил эту ошибку.

Обратная трассировка (последний последний вызов): Файл «/Users/pan/selenium.py «, строка 11, в driver.get(dir_path ‘/game/dino.html ‘) Файл «/Users/pan/anaconda3/envs/tf11/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py «, строка 333, в get self.execute(команда.GET, {‘url’: url}) Файл «/Users/pan/anaconda3/envs/tf11/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py «, строка 321, в execute self.error_handler.check_response(ответ) Файл «/Users/pan/anaconda3/envs/tf11/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py» , строка 242, в check_response вызывает класс исключений (сообщение, экран, трассировка стека) selenium.common.exceptions.Исключение WebDriverException: Сообщение: неизвестная ошибка: необработанная ошибка инспектора: {«код»:-32000, «сообщение»: «Не удается перейти к недопустимому URL»} (Информация о сеансе: chrome = 73.0.3683.103) (Информация о драйвере: chromedriver= 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72), платформа = Mac OS X 10.13.6 x86_64)

чего мне не хватает?

Ответ №1:

Попробуйте добавить file:// в качестве протокола к вашему локальному пути к файлу. Итак, код будет затем читать:

 driver.get('file:///Users/selenium/test.html')
  

Ответ №2:

Как указано в исключении, URL, который вы пытаетесь получить, недействителен.

Веб-драйвер Selenium принимает файлы.

Попробуйте следующее:

driver.get('file://Users/selenium/test.html')