Python-如何在bs4中使用select()
所以我一直在努力想办法学一点,然后继续学习。我已经创建了一个脚本,它打印出数字,但其中一些数字有一个被禁用的类,我想做的是,我只想打印出那些在“类”中没有禁用的数字 输出:Python-如何在bs4中使用select(),python,select,Python,Select,所以我一直在努力想办法学一点,然后继续学习。我已经创建了一个脚本,它打印出数字,但其中一些数字有一个被禁用的类,我想做的是,我只想打印出那些在“类”中没有禁用的数字 输出: ---------- <option class="" value="11_141"> (Number 1) </option> ---------- <option class="" valu
----------
<option class="" value="11_141">
(Number 1) </option>
----------
<option class="" value="11_142">
(Number 2) </option>
----------
<option class="" value="11_143">
(Number 3) </option>
----------
<option class="disabled ReminderRevealButton" value="11_144">
(Number 4) </option>
----------
<option class="" value="11_145">
(Number 5) </option>
----------
<option class="disabled ReminderRevealButton" value="11_137">
(Number 6) </option>
----------
<option class="" value="11_136">
(Number 7) </option>
----------
我需要做什么才能解决这个问题 下面的代码跳过已禁用类的选项
try:
select_tags = bs4.find_all('select', {'autocomplete': 'off'})
except Exception:
select_tags = []
data_products = []
for select_tag in select_tags:
test = select_tag.find_all('option')
for hehe in test[1:]:
if "disabled" not in hehe:
print(hehe.text)
下面的代码跳过已禁用类的选项
try:
select_tags = bs4.find_all('select', {'autocomplete': 'off'})
except Exception:
select_tags = []
data_products = []
for select_tag in select_tags:
test = select_tag.find_all('option')
for hehe in test[1:]:
if "disabled" not in hehe:
print(hehe.text)
@不是真的。在该线程中,它询问如何逐个打印每个数字,这里我询问如何删除包含名称为disabled的数字:)检查类是否位于
选项上元素不是选项?例如,通过find(“option”)
获取option元素,并通过检查option[“class]”中的“disabled”:pass
。我试图打印出hehe.find('option')
,但问题是所有项目都没有@SENS4看起来你已经有了hehe中的选项元素。因此,只需使用查找
跳过该部分即可hehe[“class”]
应该返回元素中的所有类。@code实际上并不是这样。在该线程中,它询问如何逐个打印每个数字,这里我询问如何删除包含名称为disabled的数字:)检查类是否位于选项上元素不是选项?例如,通过find(“option”)
获取option元素,并通过检查option[“class]”中的“disabled”:pass
。我试图打印出hehe.find('option')
,但问题是所有项目都没有@SENS4看起来你已经有了hehe中的选项元素。因此,只需使用查找
跳过该部分即可hehe[“class”]
应该返回element.Hmm中的所有类。这个代码只是打印了数字。数字1到7,它没有跳过。如果hehe.txt返回这样的字符串(数字7)
,那么它将检查是否禁用了类。正如我所看到的,当我尝试打印hehe.text时。它只打印在本例中仅为数字的值。如果你只是打印hehe,那么它会返回你想要的评论wrote@Hellosiroverthere如果您觉得有帮助,请将其标记为答案。很抱歉,回复太晚。答案并不完全正确。你所要做的就是添加hehe['class']使它工作起来!:)嗯,这个代码只是打印了数字。数字1到7,它没有跳过。如果hehe.txt返回这样的字符串(数字7)
,那么它将检查是否禁用了类。正如我所看到的,当我尝试打印hehe.text时。它只打印在本例中仅为数字的值。如果你只是打印hehe,那么它会返回你想要的评论wrote@Hellosiroverthere如果您觉得有帮助,请将其标记为答案。很抱歉,回复太晚。答案并不完全正确。你所要做的就是添加hehe['class']使它工作起来!:)
try:
select_tags = bs4.find_all('select', {'autocomplete': 'off'})
except Exception:
select_tags = []
data_products = []
for select_tag in select_tags:
test = select_tag.find_all('option')
for hehe in test[1:]:
if "disabled" not in hehe:
print(hehe.text)