【发布时间】:2021-05-15 11:32:27
【问题描述】:
我是 selenium 的新手,并试图从一个站点(代码中的链接)获取 select 标签的值,但每当我尝试获取 select 标签时,它都会返回一个空字段。
我的代码
from selenium import webdriver
from selenium.webdriver.support.ui import Select
driver = webdriver.Chrome('chromedriver',chrome_options=chrome_options)
url = 'https://lifeinsurance.adityabirlacapital.com/about-us/public-disclosure'
driver.get(url)
select = Select(driver.find_element_by_id("select-public-year"))
print([option.text for option in select.options])
# Output: ['']
当我查看页面源代码时,它显示了以下内容:
<select Name="selectPublicYear" class="demo-default select selectized selectPublicYear" id="select-public-year" name="SelectedYear">
<option value="2020-2021">2020-2021</option>
<option value="2019-2020">2019-2020</option>
<option value="2018-2019">2018-2019</option>
<option value="2017-2018">2017-2018</option>
<option value="2016-2017">2016-2017</option>
<option value="2015-2016">2015-2016</option>
<option value="2014-2015">2014-2015</option>
<option value="2013-2014">2013-2014</option>
<option value="2012-2013">2012-2013</option>
<option value="2011-2012">2011-2012</option>
<option value="2010-2011">2010-2011</option>
<option value="2009-2010">2009-2010</option>
<option value="2008-2009">2008-2009</option>
<option value="2007-2008">2007-2008</option>
<option value="2006-2007">2006-2007</option>
<option value="2005-2006">2005-2006</option>
</select>
任何提示或帮助将不胜感激。
【问题讨论】:
-
除非您展开列表,否则这些选项可能不会加载到 DOM。因此,请尝试全部单击该选择以展开它,然后再次获取选项。
-
我该怎么做
-
select.click()? -
AttributeError: 'Select' object has no attribute 'click'它给出了以下错误 -
先试试
driver.find_element_by_id("select-public-year").click(),然后再试试select = Select(driver.find_element_by_id("select-public-year"))
标签: python selenium xpath css-selectors webdriverwait