这里是html
:
<select>
<option value="" disabled="disabled">Select segment</option>
<option value="EQ">Equity</option>
<option value="NSE-FO">Futures & Options</option>
<option value="NSE-CDS">Currency</option>
<option value="MCX-COM">Commodity</option></select>
</select>
我尝试使用xpath
,select
等。但是我似乎找不到找到单击此框并随后单击所需选项的方法。
我尝试过的事情:
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
感谢您的帮助。
答案 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"