Я провел исследование по этой проблеме и проверил все возможные ресурсы, доступные на дискуссионном форуме Stackoverflow и Selenium на github.
Та же проблема возникла здесь и закрыта позже из-за отсутствия надлежащего решения. Вы можете проверить детали здесь. Эта проблема указывает c до Windows и firefox. На MA C OS работает нормально. Основная причина, по которой я узнаю, что это происходит из-за Geckodriver, это получение cra sh, здесь вы можете проверить, что geckodriver-logs
Они пытались использовать последние Python привязки и последние Гекодривер тоже. Нет чистого решения, вместо этого есть обходной путь с процессом уничтожения firefox.exe
, сгенерированным драйвером Firefox.
Пожалуйста, посмотрите.
tasklist = check_output(["tasklist", "/fi", "imagename eq firefox.exe"], shell=True).decode()
currentFFIDs = re.findall(r"firefox.exe\s+(\d+)", tasklist)
driver = webdriver.Firefox(options=opts, executable_path='./bin/geckodriver.exe')
tasklist = check_output(["tasklist", "/fi", "imagename eq firefox.exe"], shell=True).decode()
firefoxIds = set(re.findall(r"firefox.exe\s+(\d+)", tasklist)).difference(currentFFIDs)
# do your stuff
try:
driver.close()
driver.quit()
# Could't close the driver via normal means-- Force Close #
except:
taskkill = 'taskkill /f '+''.join(["/pid "+f+" " for f in firefoxIds]).strip()
check_output(taskkill.split(), shell=True)
print("\nHAD TO FORCE-CLOSE FIREFOX", flush=True)