请帮助我阅读Salesforce应用程序中目标类型下拉列表中显示的所有值列表:
HTML:
<select id="00N20000002gQI3" name="00N20000002gQI3" tabindex="3">
<option value="">--None--</option>
<option value="Asset Finance">Asset Finance</option>
<option value="Barcap">Barcap</option>
<option value="Barclaycard">Barclaycard</option>
<option value="Barclays Wealth">Barclays Wealth</option>
<option value="BGI">BGI</option>
<option value="Cash Management">Cash Management</option>
<option value="DCM">DCM</option>
<option value="Debt">Debt</option>
<option value="Deposit">Deposit</option>
<option value="ECM">ECM</option>
<option value="ESHLA">ESHLA</option>
<option value="Financial Need Assessment">Financial Need Assessment</option>
<option value="FX">FX</option>
<option value="Generic">Generic</option>
<option value="Individual Relationship">Individual Relationship</option>
<option value="M&A">M&A</option>
<option value="Managing Impairment">Managing Impairment</option>
<option value="Managing RWAs">Managing RWAs</option>
<option value="Marketing">Marketing</option>
<option value="Overall Relationship">Overall Relationship</option>
<option value="RSG">RSG</option>
<option value="Sales Finance">Sales Finance</option>
<option value="Trade">Trade</option>
</select>
请让我知道如何阅读下拉列表中的所有值...如果您可以分享对我们有帮助的代码。
答案 0 :(得分:2)
以下是我之前用于按值选择选项的方法:
public static void selectInDropdownByValue(WebElement we, String val) {
Select dropDown = new Select(we);
List<WebElement> theseOptions = dropDown.getOptions();
for(WebElement option:theseOptions){
if(option.getAttribute("value").equals(val)){
option.click();
}
}
}
有时,对于某些菜单,这还不够。在这种情况下,您需要使用WebDriver“Action”来物理移动鼠标并单击鼠标按钮。
答案 1 :(得分:1)
您可以使用Select类的getOptions函数。 循环遍历收到的webelements列表并调用getText以获取可见选项......类似
Select sel = new Select(driver.findElement("yourlocator");
List of WebElements lst = sel.getOptions();
//iterate list with getText
答案 2 :(得分:0)
如果你使用它,它应该返回所有选项元素的数组:
element_array = driver.findElement(By.xpath("//select[@id='00N20000002gQI3']/option"))
所以你可以从这个数组中提取每个元素的文本。没有必要点击元素。
element_array[1].text
element_array[2].text
等等。