使用python

时间:2016-08-21 19:35:18

标签: python selenium raspberry-pi3

我正在尝试制作基于打开和关闭网络浏览器的网络收音机来启动和停止收音机,但由于某种原因,我无法使用不同的方法关闭浏览器。

我已尝试使用子流程方法。

import subprocess as sp
web = sp.Popen("epiphany http://www.google.com", shell=True)

但在这之后我无法用

结束这个过程
web.kill()

也不是

web.terminate()

它什么也没做。

我也试过使用selenium方法,但是当我尝试在覆盆子pi上执行此操作时,所以唯一的浏览器是不支持的顿悟,我无法安装不同的支持浏览器。

python中的webbrowser模块似乎没有任何关闭功能

有没有办法让我关闭浏览器?

2 个答案:

答案 0 :(得分:0)

好像你想要关闭刚打开的浏览器。假设您只打开了一个顿悟实例,则可以使用

sp.Popen("killall epiphany")

哪会杀死顿悟的所有实例。 如果您有多个实例,则需要获取要杀死的正在运行的顿悟的ID。

sp.Popen("epiphany http://www.google.com & export PID=$!", shell=True)
# Do Stuff Here With Epiphany
sp.Popen("kill -9 $PID")

这应该向www.google.com打开一个新的顿悟实例,并将PID保存到您的环境变量中。然后,您可以使用$ PID获取PID的值并终止浏览器进程。

答案 1 :(得分:0)

经过大量研究后我发现我可以通过输入

来杀死浏览器
pkill epiphany

进入终端,所以我只是用这段代码在python中关闭它:

import os
os.system("pkill epiphany")