Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Чтобы устранить множество ручных работ и проблем несовместимости, я бы предложил вам воспользоваться 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())