我正在尝试使用 BeautifulSoup 从 HTML 中的元素获取选定的选项,但我有一个问题,源 html 代码不指示代码中的选定元素。来源看起来像这样:
<select class="class_name" name="Type" style="max-width: 170px; min-width: 135px;">
<option value="Value1">Value 1</option>
<option value="Value2">Value 2</option>
<option value="Value3">Value 3</option>
<option value="Value4">Value 4</option>
</select>
同时,这是元素在浏览器中的外观:
所以当我尝试
soup.find('select', class_="class_name")
时,我只得到一个选项列表,但没有选择一个:
<select class="class_name" name="Type" style="max-width: 170px; min-width: 135px;"><option value="Value1">Value 1</option><option value="Value2">Value 2</option><option value="Value3">Value 3</option><option value="Value4">Value 4</option></select>
在这种情况下什么可以帮助我?
如果没有像
selected
这样的指标,就没有机会选择正确的。
如果有指示:
soup.select_one('select option[selected]').get('value')
from bs4 import BeautifulSoup
html = '''
<select class="class_name" name="Type" style="max-width: 170px; min-width: 135px;">
<option value="Value1">Value 1</option>
<option value="Value2">Value 2</option>
<option value="Value3" selected>Value 3</option>
<option value="Value4">Value 4</option>
</select>
'''
soup = BeautifulSoup(html)
soup.select_one('select option[selected]').get('value')