通过Python从特定id获取HTML元素值

通过Python从特定id获取HTML元素值,python,html,bottle,Python,Html,Bottle,因此,我在pythonany中有一个瓶子页面,其中显示了SQLite数据库中的项目列表。在每个可点击项中,我想根据单击的列表项的名称,从数据库中向其他页面提供相关信息 因此,在本例中,我希望获取该元素的值,并通过Python在SQLite查询中使用该变量 <ons-list-item id="itembtn" name="itembtn" value="{{ record [0] }}" tappable> 然而,据我所知,HTML元素的值是无法检索的。我想知道是否有人知道用P

因此,我在pythonany中有一个瓶子页面,其中显示了SQLite数据库中的项目列表。在每个可点击项中,我想根据单击的列表项的名称,从数据库中向其他页面提供相关信息

因此,在本例中,我希望获取该元素的值,并通过Python在SQLite查询中使用该变量

<ons-list-item id="itembtn" name="itembtn" value="{{ record [0] }}" tappable>

然而,据我所知,HTML元素的值是无法检索的。我想知道是否有人知道用Python获取这个动态值的方法

<!-- Parts showing from database -->
        <template id="caseFanResult.html">
            <% result = c.execute("SELECT * FROM caseFanPart")%>
                <ons-page id="caseFanResult">
                    <ons-toolbar>
                        <div class="left">
                            <ons-back-button>Back</ons-back-button>
                        </div>
                        <div class="center">Case Fan Parts</div>
                    </ons-toolbar>
                    <ons-list modifier="material">
                        %for record in result:
                        <ons-list-item id="itembtn" name="itembtn" value="{{ record [0] }}" tappable>
                            <div class="center">
                                <span class="list-item__title">{{ record[1] }}</span>
                                <span class="list-item__subtitle">{{ record[2] }}</span>
                            </div>
                        </ons-list-item>
                        %end
                    </ons-list>
                </ons-page>
        </template>

        <!-- Parts detailed spec sheet -->
        <template id="itemResult.html">
            <% 
            id = request.form.get("itembtn","")
            itemResult = c.execute("SELECT * FROM caseFanPart WHERE caseFanID = ?", (id,))
            %>

                <ons-page id="itemResult">
                    <ons-toolbar>
                        <div class="left">
                            <ons-back-button>Back</ons-back-button>
                        </div>
                        <div class="center">Spec Sheet</div>
                    </ons-toolbar>
                    <ons-list modifier="material">
                        %for item in itemResult:
                        <ons-list-header>{{ item[1] }}</ons-list-header>
                        <ons-list-item>Price: {{ item[2] }}</ons-list-item>
                        <ons-list-item>Rating: {{ item[3] }}</ons-list-item>
                        <ons-list-item>Color: {{ item[4] }}</ons-list-item>
                        <ons-list-item>Size: {{ item[5] }}</ons-list-item>
                        <ons-list-item>RPM: {{ item[6] }}</ons-list-item>
                        <ons-list-item>Airflow: {{ item[7] }}</ons-list-item>
                        <ons-list-item>Noise Level:{{ item[8] }}</ons-list-item>
                        %end
                    </ons-list>
                </ons-page>
        </template>

返回
机箱风扇部件
%记录结果:
{{记录[1]}
{{记录[2]}
%结束
返回
规格表
%对于itemResult中的项目:
{{项目[1]}
价格:{{项目[2]}
评级:{{项目[3]}
颜色:{{item[4]}
大小:{{item[5]}
RPM:{{项目[6]}
气流:{{项目[7]}
噪音水平:{{项目[8]}
%结束

这是从HTML元素中提取值所必须做的

import bs4 as bs

word = '<ons-list-item id="itembtn" name="itembtn" value="{{ record [0] }}" tappable>'

soup = bs.BeautifulSoup(word,'lxml')

supa = soup.find('ons-list-item',attrs={'id' : 'itembtn'})

value = supa.get('value')
#print(value)

#to find all values 
valuelist = []
supa = soup.find_all('ons-list-item',attrs={'id' : 'itembtn'})
for val in supa: 
    value = val.get('value')
    valuelist.append(value)
print(valuelist)
将bs4作为bs导入
单词=“”
汤=bs.BeautifulSoup(单词“lxml”)
supa=soup.find('ons-list-item',attrs={'id':'itembtn'})
value=supa.get('value')
#打印(值)
#查找所有值
价值清单=[]
supa=soup.find_all('ons-list-item',attrs={'id':'itembtn'})
对于supa中的val:
value=val.get('value')
valuelist.append(值)
打印(价值清单)

这似乎是一个令人惊讶的想法,但是循环所有的值似乎都不起作用。目标是获取每个记录的值,并将其用作sqlite查询的值。因此,当您单击一个列表项时,它会将其对应的值编号转移到下一页以显示相关信息。有什么想法吗?