Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python打开.html文件并单击submit按钮_Python_Html_Python 2.7 - Fatal编程技术网

如何使用python打开.html文件并单击submit按钮

如何使用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文件,我在其中使用提交按钮发送一个值,如下所示:

<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来:

  • 打开.html文件并
  • 按“发送数据”按钮
  • 读取给定的任何响应(假设响应可能显示在HTML页面或对话框中)

  • 使用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文件。