<p>你可以用BeautifulSoup来做这件事</p>
<p>因为您提到了selenium,所以这段代码首先使用它,以防您需要它通过登录或其他需要selenium的东西。如果您不需要selenium,那么可以跳到使用<code>BeautifulSoup</code>生成<code>soup</code>的行。前面的代码只是展示了如何使用selenium获取源代码,以便<code>BeautifulSoup</code>可以访问它</p>
<p>首先找到包含所有HTML代码的<code>select</code>标记,包括注释的内容。然后获取列表中的每个项目,将其转换为字符串,并将其连接为一个大字符串,并在<code><select></code>前加前缀。将这个大字符串转换为soup和<code>findAll</code>其中的<code>option</code>标记。从每个标签中显示您想要的任何内容</p>
<pre><code>>>> from selenium import webdriver
>>> driver = webdriver.Chrome()
>>> content = driver.page_source
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(content, 'lxml')
>>> select = soup.find('select', attrs={'id': 'Filter_ClientRegion'})
>>> items = []
>>> for item in select.contents:
... items.append(str(item).strip())
...
>>> items
['', '<option _ngcontent-pxo-26="" value="">All</option>', '', 'template bindings={} \n <option _ngcontent-pxo-26="" value="A">A</option>\n <option _ngcontent-pxo-26="" value="B">B</option>\n <option _ngcontent-pxo-26="" value="C">C</option>\n <option _ngcontent-pxo-26="" value="D">D</option>\n <option _ngcontent-pxo-26="" value="E">E</option>\n <option _ngcontent-pxo-26="" value="F">F</option>\n <option _ngcontent-pxo-26="" value="G">G</option>\n </select>\n </div>\n</div>']
>>> newContents = '<select>' + ''.join(items).replace(' ','')
>>> newSelectSoup = BeautifulSoup(newContents)
>>> options = newSelectSoup.findAll('option')
>>> len(options)
8
>>> for option in options:
... option.attrs['value']
...
''
'A'
'B'
'C'
'D'
'E'
'F'
'G'
</code></pre>