Я пытаюсь открыть Firefox через Selenium, и это не удается. С Chrome он работал нормально, но когда я попробовал Firefox, я не смог заставить его работать. Сбой при попытке создать объект webdriver, выбрасывая selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process
завершить завершенный selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process
Код, который я выполняю:
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
import time
import json
import os
if __name__ == "__main__":
driver = webdriver.Firefox(executable_path='./geckodriver')
с файлом geckodriver в той же папке, что и файл python.
После поиска в Интернете я обнаружил, что это может быть из-за несовместимых версий geckodriver и Firefox, но у меня Firefox 72.0.1-64bit и я использую geckodriver v0.26.0-linux64.
Изменить: я обнаружил, что проблема не возникает при нормальной работе с терминала, но только при запуске кода Python с терминала VSCode. Есть ли способ исправить эту проблему?
Всего 1 ответ
Попробуйте запустить его с {global parameters}
и {some functions}
закомментированными.
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
import time
import json
import os
#{global parameters}
#{some functions}
if __name__ == "__main__":
driver = webdriver.Firefox(executable_path=r'C:\Path\To\geckodriver.exe')
Я могу выполнить этот файл из командной строки, cd
в местоположение файла и запустив python file_name.py
предполагая, что приведенный выше текст находится в файле с именем file_name.py
.
Не то чтобы попытка запустить это из терминала VSCode не была успешной для задающего этот вопрос.