从python3在firefox中启动多个url

时间:2012-09-23 20:25:03

标签: python firefox browser python-3.x

我试图通过python从Firefox中的文本文件中午餐多个网址。我正在使用win7 OS& python 3.我需要一些方向将参数传递给Firefox。

import os
import subprocess

f = open ('C:\\Users\\test\\Desktop\\urls.txt','r')
data = f.read()
print(data)
# i need some help here to pass this argument to Firefox.
f.close()

urls.txt

http://www.abc.com
http://www.xyz.com/test
http://www.abc.net/test.html
http://www.test.com
http://www.msn.com

1 个答案:

答案 0 :(得分:4)

使用webbrowser module

import webbrowser
firefox = webbrowser.get('firefox')
for url in data.split('\n'):
    firefox.open_new_tab(url)

如果您不想强制执行特定浏览器并启动默认浏览器,请使用webbrowser.open_new_tab

webbrowser模块不太可靠,特别是在Windows上,因此您可能必须使用subprocess模块手动启动该过程:

import subprocess
firefox_path = 'C:/Program Files/Firefox/firefox' # change this line accordingly
for url in data.split('\n'):
    subprocess.Popen([firefox_path, url])

此外,Firefox在命令行中支持多个URL,因此以下解决方案更适合它:

import subprocess
urls = open('C:/Users/test/Desktop/urls.txt').read().split('\n')
subprocess.Popen(['C:/Program Files/Firefox/firefox']+urls)