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)