我已经编码为使用以下代码从下拉菜单中选择一个选项。
new Select (driver.findElement(By.xpath("//select[@name='fromAccount']"))).selectByIndex(10);
new Select (driver.findElement(By.xpath("//select[@name='toAccount']"))).selectByIndex(18);
但这是一种硬编码。如果更改了登录参数,则每次必须更新索引时,因为每次登录的帐户都不会在同一索引中。我所需要的只是拥有一个自动选择drodown选项的函数或循环语句。
在两种情况下都必须选择一个个人帐户,并且“发件人”和“收件人”帐户都应该不同。
<select class="select" id="fromAccount" name="fromAccount">
<option>---------------- Select account ---------------</option>
<option value="236881510">6227/084-737 23-688-1510 ($5,889.66)</option>
<option value="236937684">Line Of Credit #7684/083-047 23-693-7684 ($49,850.00)</option>
<option value="236188564">Line Of Credit #8564/083-047 23-618-8564 ($50,000.00)</option>
<option value="5386390000107472">NAB Traveller Card #7472/5386-3900-0010-7472</option>
<option value="236940963">Personal Account #0963/083-047 23-694-0963 ($836.00)</option>
<option value="236871603">Personal Account #1603/084-737 23-687-1603 ($70.12)</option>
<option value="236841914">Personal Account #1914/084-737 23-684-1914 ($0.00)</option>
<option value="236832014">Personal Account #2014/084-737 23-683-2014 ($10.00)</option>
<option value="236152254">Personal Account #2254/083-047 23-615-2254 ($261.69)</option>
<option value="236802325">Personal Account #2325/084-737 23-680-2325 ($413.80)</option>
<option value="236772648">Personal Account #2648/084-737 23-677-2648 ($282.00)</option>
<option value="236693421">Personal Account #3421/084-737 23-669-3421 ($31.00)</option>
<option value="236673607">Personal Account #3607/084-737 23-667-3607 ($11.00)</option>
<option value="236884818">Personal Account #4818/084-737 23-688-4818 ($33.00)</option>
<option value="236855136">Personal Account #5136/084-737 23-685-5136 ($10.00)</option>
<option value="236845229">Personal Account #5229/084-737 23-684-5229 ($1.00)</option>
<option value="236815513">Personal Account #5513/084-737 23-681-5513 ($7.15)</option>
<option value="236805614">Personal Account #5614/084-737 23-680-5614 ($0.00)</option>
<option value="236766029">Personal Account #6029/084-737 23-676-6029 ($1.00)</option>
<option value="236756138">Personal Account #6138/084-737 23-675-6138 ($0.00)</option>
<option value="236746204">Personal Account #6204/084-737 23-674-6204 ($0.00)</option>
<option value="236736313">Personal Account #6313/084-737 23-673-6313 ($0.00)</option>
<option value="236696710">Personal Account #6710/084-737 23-669-6710 ($0.00)</option>
<option value="236657105">Personal Account #7105/084-737 23-665-7105 ($0.00)</option>
<option value="236868316">Personal Account #8316/084-737 23-686-8316 ($0.00)</option>
<option value="236858425">Personal Account #8425/084-737 23-685-8425 ($0.00)</option>
<option value="236828736">Personal Account #8736/084-737 23-682-8736 ($0.00)</option>
<option value="236818802">Personal Account #8802/084-737 23-681-8802 ($0.00)</option>
</select>
我会仔细检查fromAccount,SELECT
OPTION
直到找到一个个人帐户并存储该帐号。现在浏览toAccount,SELECT
OPTION
直到找到一个个人帐号,该帐号的帐号与fromAccount的帐号不同,并存储该帐号。现在,您有两个唯一的个人帐户,分别用于fromAccount和toAccount。
// set up references to both SELECTs
Select fromAccount = new Select(driver.findElement(By.id("fromAccount")));
Select toAccount = new Select(driver.findElement(By.id("toAccount")));
// other misc variables
String fromAcctNo = "";
String toAcctNo = "";
// find a personal account in the fromAccount OPTIONS
List<WebElement> options = fromAccount.getOptions();
for (WebElement option : options)
{
// search for a personal account
if (option.getText().contains("Personal"))
{
// store the account number
fromAcctNo = option.getAttribute("value");
break;
}
}
if (fromAcctNo.equals(""))
{
// log an error that a personal account was not found in fromAccount
}
else
{
// find a personal account in the toAccount OPTIONS
options = toAccount.getOptions();
for (WebElement option : options)
{
// search for a personal account
if (option.getText().contains("Personal"))
{
// find an account number that isn't the same as the fromAccount
if (!option.getAttribute("value").equals(fromAcctNo))
{
toAcctNo = option.getAttribute("value");
break;
}
}
}
}
if (fromAcctNo.equals(""))
{
// log an error that a personal account was not found in toAccount
}
System.out.println("fromAccountNo: " + fromAcctNo);
System.out.println("toAccountNo: " + toAcctNo);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句