如何使用python打开.html文件并单击submit按钮
我有一个.html文件,我在其中使用提交按钮发送一个值,如下所示:如何使用python打开.html文件并单击submit按钮,python,html,python-2.7,Python,Html,Python 2.7,我有一个.html文件,我在其中使用提交按钮发送一个值,如下所示: <HTML> <HEAD> <TITLE>XYZ Ltd.</TITLE> </HEAD> <BODY> <FORM ACTION="http://192.168.2.2/cgi-bin/http_recv.cgi" METHOD="POST"> <TEXTAREA NAME="DATA_SEND" COLS='160' ROWS='40'
<HTML>
<HEAD>
<TITLE>XYZ Ltd.</TITLE>
</HEAD>
<BODY>
<FORM ACTION="http://192.168.2.2/cgi-bin/http_recv.cgi" METHOD="POST">
<TEXTAREA NAME="DATA_SEND" COLS='160' ROWS='40' WRAP='none'>
</TEXTAREA>
<INPUT TYPE="SUBMIT" VALUE="Send Data">
</FORM>
</BODY>
</HTML>
XYZ有限公司。
我确实吃过硒,据我所知,它不适合我。我想有一个.html如上所述,并维护它,所以它必须被打开和点击。我确实注意到了一个例子,但只有在没有其他选择的情况下,我才会选择
如何使用python来:
使用flask托管HTML页面,并使用POST请求在python脚本之间发送数据 此链接将帮助您了解更多信息: “单击”按钮只不过是一个POST请求,其正文中包含表单数据 如果您需要一些通用的东西,那么您必须解析HTML,找到主机接受的数据并发布它
但是,如果您在本例中只需要这个,也就是说,您已经知道服务器接受的数据,您可以忽略HTML,只使用类似于发布数据的东西来发送数据
`def hello():
Dict={'Title': 'This is title','Subtitle':'subtitle'}
return render_template('hello.html',Dict=Dict)`
用于将值作为字典从python传递到HTML的代码
`<form accept-charset="utf-8" class="simform" method="POST"
enctype=multipart/form-data>
Title <input type="text" name="Title" value="{{ Dict.get('Title')
}}" maxlength="36">
SubTitle <input type="text" name="SubTitle" value="{{
Dict.get('SubTitle') }}" maxlength="70">
<button type="submit" class="save btn btn-default">Submit</button>
</form>`
`
标题
字幕
提交
`
我相信这正是您想要的。它是一个简单的python服务器,带有python的baseHttpHandler
class S(BaseHTTPRequestHandler):
def _set_headers(self):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
def do_GET(self):
self._set_headers()
self.wfile.write("<html><body><h1>hi!</h1></body></html>")
def do_HEAD(self):
self._set_headers()
def do_POST(self):
# Doesn't do anything with posted data
self._set_headers()
self.wfile.write("<html><body><h1>POST!</h1></body></html>")
def run(server_class=HTTPServer, handler_class=S, port=80):
server_address = ('', port)
httpd = server_class(server_address, handler_class)
print 'Starting httpd...'
httpd.serve_forever()
类S(BaseHTTPRequestHandler):
def_设置_标题(自):
自我发送_响应(200)
self.send_标题('Content-type','text/html')
self.end_头()
def do_获得(自我):
self.\u set\u headers()
self.wfile.write(“嗨!”)
def do_头(自身):
self.\u set\u headers()
def do_POST(自我):
#不处理已发布的数据
self.\u set\u headers()
self.wfile.write(“POST!”)
def运行(服务器类=HTTPServer,处理程序类=S,端口=80):
服务器地址=('',端口)
httpd=服务器类(服务器地址、处理程序类)
打印“正在启动httpd…”
httpd.永远为你服务()
您可以通过将您选择的适当端口传递给run方法来运行代码,否则将使用默认的80。要测试这一点或执行get或post,可以按如下方式运行curl:
<HTML>
<HEAD>
<TITLE>XYZ Ltd.</TITLE>
</HEAD>
<BODY>
<FORM ACTION="http://192.168.2.2/cgi-bin/http_recv.cgi" METHOD="POST">
<TEXTAREA NAME="DATA_SEND" COLS='160' ROWS='40' WRAP='none'>
</TEXTAREA>
<INPUT TYPE="SUBMIT" VALUE="Send Data">
</FORM>
</BODY>
</HTML>
发送GET请求::curl
发送HEAD请求::curl-I
发送POST请求::curl-d“foo=bar&bin=baz”
您还可以创建一个单独的index.html文件,并使用python中的编解码器进行读取。由于输入是字符串,因此可能会被篡改,最终显示所需的页面 很抱歉,我不明白“托管你的HTML页面”。如果你能解释一下就好了。这难道不能像打开页面并单击按钮那样简单吗?我不想手动打开文件,但希望python脚本打开并单击submit按钮(或send POST request)。据我所知,请求与URL一起工作,对吗?我想改为处理.html文件。