chromedriver не может быть найден в PATH или при явном предоставлении в webdriver.Chrome ()

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

0
задан BugHunterUK 7 April 2019 в 12:39
поделиться

1 ответ

Чтобы устранить множество ручных работ и проблем несовместимости, я бы предложил вам воспользоваться WebDriverManager, так как он автоматически загружает необходимый двоичный файл, и нам не нужно указывать какой-либо путь.

Он поддерживает такие браузеры, как Chrome, Firefox, PhantomJS, Microsoft Edge или Internet Explorer.

Как мы используем это в нашем проекте?

Для установки этого пакета требуется только «pip».

pip install webdriver_manager

Вот и все! У нас все готово. Просто импортируйте этот модуль в ваш проект на Python и начните его использовать.

Для Chrome:

from webdriver_manager.chrome import ChromeDriverManager
from selenium import webdriver 
driver = webdriver.Chrome(executable_path=ChromeDriverManager().install())
driver.get("http://www.google.com/") 
print driver.title
driver.quit() 

Для Firefox:

from webdriver_manager.firefox import GeckoDriverManager 
from selenium import webdriver
driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
driver.get("http://www.google.com/") 
print driver.title 
driver.quit()

Для Edge: [1113 ]

from webdriver_manager.microsoft import EdgeDriverManager
from selenium import webdriver
driver = webdriver.Edge(executable_path=EdgeDriverManager().install()) 
driver.get("http://www.google.com/") 
print driver.title 
driver.quit() 

Для IE:

from webdriver_manager.microsoft import IEDriverManager
from selenium import webdriver 
driver = webdriver.Ie(executable_path=IEDriverManager().install())   
driver.get("http://www.google.com/") 
print driver.title 
driver.quit()

webdriver_manager по умолчанию пытается загрузить последнюю версию данного двоичного файла драйвера. Чтобы использовать конкретную версию драйвера, передайте версию драйвера, как показано ниже.

webdriver.Chrome(executable_path=ChromeDriverManager("2.42").install())
0
ответ дан DebanjanB 7 April 2019 в 12:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: