当前位置: 首页 > 知识库问答 >
问题:

如何在python程序中获取html元素

金成济
2023-03-14

我有我的python代码,在那里我使用html文件。请参阅以下代码:

@app.route('/',endpoint='buf')
def index():
    page = """
    <DOCTYPE! html>
    <html lang="en-US">
    <head>
    <title>Hello World Page</title>
    <meta charset=utf-8">
    </head>
    <body>
    <form action="/hello" method="GET">
    First: <input type="text" name="fname"><br>
    Last name: <input type="text" name="lname"><br>
    <input type="submit" value="Submit">
    </form>
    </body>
    </html>
    """   
    return page


@app.route('/hello',endpoint="new",methods=['GET'])
def login():
         return 'hello %s ' % (request.form['fname'])

这给了我一个html页面,它有一个包含两个字段的表单和一个提交按钮。我使用虚拟环境来运行这个。

现在我想在我的程序中获取字段first name和last name,这样当用户单击submit时,我想显示Hello“first name”“last name”

目的:-学习如何在python文件中提供代码时获取html元素值。

共有1个答案

宗政才俊
2023-03-14

要使其发挥作用,需要做以下几件事:

>

  • 添加POSTGET到支持的app.route的方法:

    @app.route('/', methods=['POST', 'GET'])
    

    在视图中,处理GET(当用户打开网页时)和POST(当用户提交表单时)

    将html代码提取到html模板文件中,并在视图中呈现(关于呈现模板的文档)

    以下是更改后的代码:

    from flask import render_template
    ...
    
    @app.route('/', methods=['POST', 'GET'])
    def index():
        if request.method == 'POST':
            # use request.form['fname'] and request.form['lname'] 
            # to access form input values
        else:
            return render_template('index.html')
    

    另请参阅留档页。

    希望这有所帮助。

  •  类似资料:
    • 我在Python(3.6.3)代码中得到了这个HTML元素(当然作为Selenium webelement): 很明显,我不能使用,因为我不知道属性的名称...

    • 问题内容: 我正在寻找一种从样式标签中设置了样式的元素中检索样式的方法。 在身体里 我正在寻找不使用库的直接javascript。 我尝试了以下操作,但始终收到空白: 我注意到,如果我已使用javascript设置了样式,但无法使用样式标签,则只能使用以上内容。 问题答案: 该属性仅让您知道在该元素中定义为内联的CSS属性(以编程方式或在元素的style属性中定义),应该获取计算出的style。

    • 问题内容: 不使用任何外部库,将网站的HTML内容提取为String的最简单方法是什么? 问题答案: 我目前正在使用此: 但不确定是否有更好的方法。

    • 问题内容: 我有一个多线程Python程序和一个实用程序函数,该函数写出时间戳记和消息。不幸的是,结果日志文件没有给出哪个线程正在生成哪个消息的指示。 我希望能够在消息中添加一些内容,以标识哪个线程正在调用它。显然,我可以使线程将这些信息传递进去,但这将需要更多的工作。是否有一些我可以使用的等效线程? 问题答案: ,或者(或对于Python <2.6)。

    • 我想在浏览器中显示由控制器(使用Spring)返回的响应实体的主体: 返回新的响应实体 返回一个Date类型,我想以如下方式显示: 我怎样才能把它展示出来?

    • 问题内容: 如何使用JavaScript 获取任何元素(例如)的背景颜色?我努力了: 问题答案: 与所有包含连字符的css属性一样,它们在JS中的对应名称是删除连字符并使用以下字母大写: