小能豆

Python lxml - 获取选定的选项

python

我正在尝试访问 select using 中的选定选项lxml,但看起来lxml不知道此属性。这是我的代码:

for option in productField.xpath('select//option'):
    if 'selected' in option.attrib:
        print(option)

当我这样做时,print(option.attrib)我只看到{'value': 'value...'}。我哪里错了吗?


阅读 163

收藏
2023-06-15

共1个答案

小能豆

根据您提供的代码,问题可能在于option.attrib字典中没有'selected'键。在lxml中,选中的选项通常没有'selected'属性,而是使用'selected'键的布尔值来表示是否选中。

您可以通过检查option.attrib.get('selected')的值来判断选项是否选中。如果返回非空字符串,则表示选项被选中。

下面是您可以尝试的修改后的代码:

for option in productField.xpath('select//option'):
    if option.attrib.get('selected'):
        print(option)

这样,您应该能够正确地识别被选中的选项并打印出它们。

希望这对您有所帮助!如果您还有其他问题,请随时提问。

2023-06-15