У вас там часть с созданием переменной driver обернута в перехват исключения try:, а в finally: стоят вызовы driver, в частности driver.close()
Если сработает какое-либо исключение, то driver не будет создан, т.к. всё пойдёт по ветке except и затем finally:.
А там вызов driver, а он не создан в try из-за какой-то ошибки (исключения), и интерпретатор предупреждает, что нельзя обратиться к driver, так как он не был инициализирован до использования.
Что делать?
Внимательно разобраться с тем, что вы творите внутри try:
Затем внимательно разобраться с except - там перехват Exception, т.е. практически любой ошибки, а надо перехватывать конкретные классы ошибок.
Ну и не вызывайте driver, пока не убедитесь, что он точно инициализирован до использования.