当期权值不断变化时,如何使用硒通过下拉列表进行封闭式?
How to use selenium for webscraping through a dropdown when the option value is constantly changing?
我有一个下拉菜单,假设下拉菜单的代码如下所示:
select name="Rv$ct104$ct1111Value" onchange="javascript:setTimeout('___do PostBack(\'Rv$ct104$ct1111Value')',0)" id="RV_ct104_ct111_ddValue" class="aspNetDisabled" style="font-family": Verdana; font-size:8pt; width:281px;"
<option selected="selected" value="1">(ALL)</option>
<option value="2"Bob LastName1</option>
<option value="3"George LastName2</option>
<option value="4"Alice LastName3</option>
<option value="5"Michael LastName4</option>
<option value="6"Mary LastName5</option>
如果 Alice 的期权价值不断变化,我将如何 select 'Alice' 使用 selenium 和 python 我的网络抓取工具?新名称不断添加到下拉列表中,因此选项值不断变化,但我需要我的网络抓取工具始终 select 相同的名称。
select_by_visible_text
可能就是您所需要的。
还添加等待下拉菜单在打开时加载
from selenium.webdriver.support.select import Select
text_dropdown = "Alice"
dropdown_locator = driver.find_element_by_id(element)
dropdown_locator.click()
select = Select("dropdown_locator")
if locator is not None:
for option in select.options:
select.select_by_visible_text(text_dropdown)
此问题的答案包含更多选项:
How to select a drop-down menu value with Selenium using Python?
我有一个下拉菜单,假设下拉菜单的代码如下所示:
select name="Rv$ct104$ct1111Value" onchange="javascript:setTimeout('___do PostBack(\'Rv$ct104$ct1111Value')',0)" id="RV_ct104_ct111_ddValue" class="aspNetDisabled" style="font-family": Verdana; font-size:8pt; width:281px;"
<option selected="selected" value="1">(ALL)</option>
<option value="2"Bob LastName1</option>
<option value="3"George LastName2</option>
<option value="4"Alice LastName3</option>
<option value="5"Michael LastName4</option>
<option value="6"Mary LastName5</option>
如果 Alice 的期权价值不断变化,我将如何 select 'Alice' 使用 selenium 和 python 我的网络抓取工具?新名称不断添加到下拉列表中,因此选项值不断变化,但我需要我的网络抓取工具始终 select 相同的名称。
select_by_visible_text
可能就是您所需要的。
还添加等待下拉菜单在打开时加载
from selenium.webdriver.support.select import Select
text_dropdown = "Alice"
dropdown_locator = driver.find_element_by_id(element)
dropdown_locator.click()
select = Select("dropdown_locator")
if locator is not None:
for option in select.options:
select.select_by_visible_text(text_dropdown)
此问题的答案包含更多选项:
How to select a drop-down menu value with Selenium using Python?