Chrome вылетает, если я пытаюсь открыть его с помощью Python / Selenium

#python #selenium #selenium-chromedriver

#python #селен #selenium-chromedriver

Вопрос:

Когда я запускаю код, Chrome открывает URL-адрес, но примерно через 2 секунды он выходит из строя. В верхней части окна Chrome также написано: «Chrome контролируется программным обеспечением для автоматического тестирования»

Я использую совместимую версию драйвера Chrome для своей версии Chrome.

Это мой код. Как я могу исправить сбой?

     #from config import keys
    from selenium import webdriver

    def order():
        driver = webdriver.Chrome('./chromedriver')
        driver.get('https://www.youtube.com/')


    if __name__ == '__main__':
        order()
  

Ответ №1:

когда вы создали объект driver в области order() после выполнения order(), все локальные переменные удаляются.

Вы должны объявить driver как глобальную переменную

 from selenium import webdriver

# declare global varible driver 
driver = None
def order():
    driver = webdriver.Chrome('./chromedriver')
    driver.get('https://www.youtube.com/')


if __name__ == '__main__':
    order()
  

В противном случае вы можете добавить time.sleep(), чтобы подождать некоторое время

 import time
from selenium import webdriver

def order():
    driver = webdriver.Chrome('./chromedriver')
    driver.get('https://www.youtube.com/')

    # will wait for 5 seconds
    time.sleep(5)


if __name__ == '__main__':
    order()