查找并单击没有名称,ID或类别的选择?

时间:2019-06-13 12:30:47

标签: python-3.x selenium-webdriver

这里是html

<select>
<option value="" disabled="disabled">Select segment</option> 
<option value="EQ">Equity</option>
<option value="NSE-FO">Futures &amp; Options</option> 
<option value="NSE-CDS">Currency</option>
<option value="MCX-COM">Commodity</option></select>
</select>

我尝试使用xpathselect等。但是我似乎找不到找到单击此框并随后单击所需选项的方法。

我尝试过的事情:

driver.find_element_by_xpath("//*[contains(text(),'Segment']")
driver.find_element_by_xpath("//select[contains='Segment']")
driver.find_element_by_xpath("//select[@label='Segment'")  #I can see why this wouldn't work

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您的xpath中有错字

driver.find_element_by_xpath("//*[contains(text(),'Segment']")

应该是

driver.find_element_by_xpath("//*[contains(text(),'Segment')]")

答案 1 :(得分:1)

您可以通过以下路径获得带有选项的选择:

".//option[@value='NSE-FO']/ancestor::select"

如果您有更多选择,请尝试为该选择找到唯一的选项。

如果此选择位于另一个选择中,并且祖先方法返回多个,则我不确定这种情况是否可行,您可以尝试以下选择:

".//option[@value='NSE-FO']/../../select"