Селен : веб-драйвер firefox сохраняет прежний html-код

#python #selenium #firefox #geckodriver

Вопрос:

Я создал скрипт на python с библиотекой selenium для автоматизации некоторых действий. Мой скрипт работает с chromedriver, в то время как, когда я хочу использовать драйвер firefox, он также не работает. Это связано с тем, что после подключения моего скрипта к веб-сайту драйвер не обновляет его до исходного кода html, поэтому я взял html-код со старой страницы вместо текущего html-кода. Поэтому мой сценарий не может найти никаких элементов.

У вас есть какие-либо идеи, почему эта ошибка появляется только в geckodriver, и знаете ли вы, как ее исправить, пожалуйста?

Приведенный ниже код отличается от драйвера chromedriver и firefox :

      if const.browser == 'chrome':
        options = webdriver.ChromeOptions()
        # Ouverture d'un onglet en dimension plein écran
        options.add_argument("start-maximized")
        options.add_argument('--no-sandbox')
        # options.add_argument("--headless")
        # Modification du chemin de téléchargements
        prefs = {"download.default_directory" : const.download_path}
        options.add_experimental_option("prefs",prefs)

        # Déclaration du driver
        driver = webdriver.Chrome(executable_path=const.chrome_driver_path, options=options)
    else:
        options = FirefoxOptions()
        # options.add_argument("--headless")
        # Optionnel
        # Ouverture d'un onglet en dimension plein écran
        options.add_argument("start-maximized")
        options.add_argument('--no-sandbox')
        # options.add_argument("--headless")
        # Modification du chemin de téléchargements
        options.set_preference("browser.download.folderList", 2)
        options.set_preference("browser.download.dir", const.download_path)

        # Déclaration du driver
        driver = webdriver.Firefox(executable_path=const.firefox_driver_path, options=options)
 

Ответ №1:

Вы должны открыть драйвер Firefox вместо драйвера Chrome.

 driver = webdriver.FireFox(executable_path=const.firefox_driver_path, options=options)
 

Комментарии:

1. Спасибо за помощь, но это была кодовая ошибка. Это не решает проблему, которая продолжается, и мой драйвер сохраняет старый html-код перед действием, хотя в chrome нет, однако окно firefox отображается в правильном представлении