streamlit 1.39.0 查找html元素
时间: 2024-11-10 11:26:06 浏览: 84
Streamlit是一个Python库,用于快速构建数据应用程序,而它的版本1.39.0主要是提供了一个更易用的界面和新功能。如果你想在Streamlit应用中查找HTML元素,你可以利用Streamlit提供的`st.beta_html`函数生成动态的HTML内容,然后使用DOM(Document Object Model)相关的技术来查找元素。
首先,你可以使用`st.beta_html`将HTML插入到应用中:
```python
import streamlit as st
html_content = """
<div id="my-element">
This is a sample element.
</div>
"""
st.beta_html(html_content, unsafe_allow_html=True)
```
在生成的HTML中,假设你想获取id为"my-element"的元素,你可以使用如`BeautifulSoup`或`jsbeautifier`这样的库配合`javascriptoup` Streamlit插件来进行JavaScript渲染后的DOM操作,然后查找元素:
```python
from javascriptoup import Jsoup
# 先渲染HTML到一个隐藏的div中,以便后续操作
hidden_div = st.empty().render_javascript("""
const div = document.createElement('div');
div.innerHTML = `%s`;
document.body.appendChild(div);
return div;
""" % html_content)
# 使用Jsoup查找元素
element = Jsoup(hidden_div.html(), 'lxml').select('#my-element')[0]
# 如果找到了元素,你可以提取其属性、文本等
if element:
text = element.text()
attribute_value = element.attr('class')
#...
```
注意,`unsafe_allow_html=True`是因为Streamlit默认不允许插入HTML,但这里为了演示需要开启。
阅读全文
相关推荐















