0

だから私はEpiphany WebBrowserでURL​​を開こうとしています[たとえばhttp://www.google.com、Pythonスクリプトから]。私のpythonスクリプトは次のとおりです。

import os
string = "DISPLAY=:0 xdg-open http://www.google.com"
os.system(string)

次のエラーが返されます。xdg-open: no method available for opening 'http://www.google.com'

ただし、DISPLAY=:0 xdg-open http://www.google.comLXTerminal に入力すると正常に動作します。また、SSH を介してリモートで動作します。

何か案は?また、ターミナルでコマンドが正常に機能する理由を説明してもらえますos.system()か?

更新 -- まだ助けが必要

注:すべてのファイルは次の場所にあります。/home/pi

多くの欲求不満の後、私は以下の方法を試してみることにしました。というファイルを作成しましたgoogle.sh。sのコードはgoogle.sh次のとおりです。

#google.sh    
DISPLAY=:0 xdg-open http://www.google.com

./google.shLXTerminal からこのプログラムを呼び出すと、問題なく動作します。それではtest.py、コードが次のような python スクリプトから呼び出してみましょう。

# test.py
import os

string = "/home/pi/google.sh"
os.system(string)

ただし、何らかの理由でまだ返されます:xdg-open: no method available for opening 'http://www.google.com'

4

1 に答える 1

0

これはどう?アイデアは、ひらめきウィンドウを開き、5 秒後に閉じることです。

import subprocess
from time import sleep

p = subprocess.Popen("exec epiphany-browser http://yahoo.com", stdout=subprocess.PIPE,shell=True)
sleep(5)
p.kill()
print("done")
于 2017-01-10T02:25:28.233 に答える