2016-03-14 34 views
0

我打开一个新的IE窗口与此:如何使用子流程打开新的浏览器选项卡?

subprocess.Popen(r'"' + os.environ["PROGRAMFILES"] + 
'\Internet Explorer\IEXPLORE.EXE" ' + Call_URL) 

当IE被关闭这是正常的,但即使它是开放这产生一个新的窗口。我怎样才能打开一个新标签?如果可能的话,我想使用标准的浏览器 - 但我无法弄清楚如何做到这一点。

注意:我无法使用webbrowser,os也没有.startfile。我没有运气os.popen(使用Jython 2.5.3b1)。

回答

2

既然你也想让一个标准浏览器给出一个例子来用chrome打开一个新标签。如果chrome尚未打开,它将打开并导航到该URL。

import subprocess 
subprocess.Popen("start chrome /new-tab www.google.com",shell = True) 

这是有效的。请尝试让我知道这是你想要的。

而另一个没有硬编码Call_URL

import subprocess 
Call_URL = "www.google.com" 
mycmd = r'start chrome /new-tab {}'.format(Call_URL) 
subprocess.Popen(mycmd,shell = True) 

你期待这样的事情?

+0

谢谢。不过,我收到了一些错误。 Shell = True: 'TypeError:不支持的操作数类型为+:'NoneType'和'list'' On Shell = False或Shell参数删除: 'OSError:无法运行程序“start” “C:\ Users \ Admin \ Desktop”):CreateProcess error = 2,系统找不到指定的文件' This works: 'subprocess.Popen(r'“C:\ Users \ Admin \ AppData \ Local \ Google \ Chrome \ Application \ chrome.exe“/ new-tab'+ Call_URL)'..我猜这有点改进,但​​不会调用用户的标准浏览器。 (基督,没有文本编辑器** **吸**) – MapEngine

+0

@MapEngine Call_URL应该提及,因为我已经提到www.google.com。它不能在命令后传递。 – DineshKumar

+0

在Jython中无效(no .format)。也不启动标准浏览器。我基本上想做“使用任何浏览器访问google.com”。由于上述方法在我的情况下不起作用,我将其重写为至少与用户无关:'subprocess.Popen(r'“''C:\\ Users \\'+ os.environ [”USERNAME“] +'\ AppData \ Local \ Google \ Chrome \ Application \ chrome.exe“/ new-tab'+ Call_URL)' – MapEngine

相关问题