在 python 中使用 selenium 迭代列表项

Iteration of List Items using selenium in python

我有一个包含 7 个值的下拉菜单,这 7 个值以列表项的形式存储在无序列表下,如下所示:

<ul class="rcbList" style="list-style:none;margin:0;padding:0;zoom:1;">
   <li class="rcbItem ">--Select--</li>
   <li class="rcbHovered ">PIPL-C1-BH-RILJM</li>
   <li class="rcbItem ">PIPL-C1-BH1-RILJM</li>
   <li class="rcbItem ">PIPL-C1-BH2-RILJM</li>
   <li class="rcbItem ">PIPL-C1-BH-RPLJM</li>
   <li class="rcbItem ">PIPL-C1-DHJ-RPLJM</li>
   <li class="rcbItem ">PIPL-C1-DHJ-RILJM</li>
</ul>    

我想在 python 中的 selenium chromedriver 的帮助下使用 for 循环单击此下拉菜单的每个值。
假设我想点击第二个值 PIPL-C1-BH-RILJM,我可以这样做:

driver.find_element(By.XPATH,"//div[@id='ContentPlaceHolder1_rcmbCapacityTranch_DropDown']/div/ul/li[2]").click()

但是要在 for 循环中使用它,我必须在 li 标签上建立索引。所以,当我写成:

i=2
driver.find_element(By.XPATH,"//div[@id='ContentPlaceHolder1_rcmbCapacityTranch_DropDown']/div/ul/li['+str(i)+']").click()

它只显示 --Select-- 而不是 select 第二个值,i 的其他值也是如此。
我也试过:

i=2
driver.find_element(By.XPATH,"//div[@id='ContentPlaceHolder1_rcmbCapacityTranch_DropDown']/div/ul/li['"+str(i)+"']").click()

但是 --Select-- 再次从下拉菜单中 selected。
那么,谁能帮我点击一个特定的值,并在 li 标签上建立索引。
任何帮助将不胜感激。

像下面这样尝试一次:

收集列表中的所有 li 标记元素,然后遍历它们。同样使用 find_elements

# This should highlight all the li tags - //div[@id='ContentPlaceHolder1_rcmbCapacityTranch_DropDown']/div/ul/li
options = driver.find_elements(By.XPATH,"//div[@id='ContentPlaceHolder1_rcmbCapacityTranch_DropDown']/div/ul/li")

# This should print 7
print(len(options))

# Start the loop from index 1 since the first option is "--Select--"
for i in range(1,len(options)):
    options[i].click()