Вопрос:
Я пытаюсь сделать интернет-радио, основанное на открытии и закрытии веб-браузера, чтобы запустить и остановить радио, но я не могу по какой-то причине закрыть браузер, используя разные методы.
Я уже пробовал использовать метод подпроцесса.
import subprocess as sp web = sp.Popen(«epiphany http://www.google.com», shell=True)
но после этого я не мог ни закрыть процесс с помощью
web.kill()
ни с
web.terminate()
Это просто ничего не делало.
Я также пытался использовать метод selenium, но, как я пытаюсь сделать это на малине pi, поэтому единственный браузер – это прозрение, которое не поддерживается, и я не мог установить другой поддерживаемый браузер для установки.
Модуль webbrowser в python, похоже, не имеет функции закрытия
Есть ли способ закрыть браузер?
Лучший ответ:
после многого исследования я узнал, что могу убить браузер, набрав
pkill epiphany
в терминал, поэтому я просто использовал этот код, чтобы закрыть его в python:
import os os.system(«pkill epiphany») Ответ №1
Похоже, вы хотите закрыть только что открывшийся браузер. Предполагая, что у вас есть только один экземпляр epiphany, вы можете использовать
sp.Popen(«killall epiphany»)
Который убьет весь экземпляр прозрения. Если у вас есть несколько экземпляров, вам нужно будет получить идентификатор запущенного прозрения, которое вы хотите убить.
sp.Popen(«epiphany http://www.google.com & export PID=$!», shell=True) # Do Stuff Here With Epiphany sp.Popen(«kill -9 $PID»)
Это должно открыть новый экземпляр epiphany на www.google.com и сохранить PID в переменных среды. Затем вы можете получить значение PID с помощью $ PID и убить процесс браузера.