2013-01-16 40 views
0

我想制作一个简单的程序,它接受来自用户的输入,然后用该信息打开一个网页。我是一个完整的CGI新手,但有一点python的经验。我已经用本地cgi服务器运行以下脚本。cgi python中的Webbrowser模块

这是一个启动的网页我的主要文件看起来像:

#!usr/bin/env/python 
import re 
import webbrowser 
import cgi 

form = cgi.FieldStorage() 
input_from_user = form.getvalue('input_from_html') 
product_numbers = re.split(';', input_from_user) 

for i in product_numbers: 
    launch_code = "http://www.proshop.dk/" + i 
    webbrowser.open_new_tab(launch_code) 

我还有一个文件,它是负责表单和输入:当我按下

#!/usr/bin/env python 
print """Content-type: text/html 

<form method="post" action="proshopapp.py"> 
<textarea name="input_from_html" cols="40" rows="5"> 
Enter comments here... 
</textarea> 
<br/> 
<input type="submit" value="Submit"> 
</form>""" 

什么也没有发生按钮。但我已经测试过接收到的输入。我想让浏览器启动链接,然后传递给它。

+0

“没有任何反应”:您需要了解您希望发生的情况,逐步执行并检查每个步骤。例如,当你按下按钮时,Web浏览器应该转到url“relative/path/proshopapp.py”:它是这样做的吗?如果是的话,你可以在proshopapp.py中添加一个保存日志文件的命令,看看它们是否出现。如果不是,那么这是一个html问题,例如您可能需要转到“http://”网址(而不是文件://,例如)。 –

回答

0

功能:

webbrowser.open_new_tab() 

将脚本工作在本地浏览器打开一个新标签;但是,这不会与cgi脚本一起在客户端打开新的浏览器选项卡。相反,重写您的“proshopapp.py”文件以生成javascript to open new tabs的网页。