我的目标是在脚本中添加3次不同的下拉值。
通过使用,我可以选择并添加相同的值3次,但每次都希望选择并添加不同的下拉值。
现在我可以添加三次相同的技能,但是我想添加三项。
请建议每次循环执行时如何设置不同的值 这是我现在正在使用的代码。
for(int i=0; i<=2; i++){
Select skill = new Select(m1.findElement(By.xpath(".//select[@id='skill']")));
skill.selectByValue(skills);
Select proficiency = new Select(m1.findElement(By.xpath(".//select[@name='proficiency']")));
proficiency.selectByValue("3");
m1.findElement(By.xpath(".//button[@id='addskill']")).click();
Thread.sleep(2000);
答案 0 :(得分:2)
如果要添加3次差异下拉菜单值,请使用dropdown.selectByIndex(index)。
Select skill = new Select(m1.findElement(By.xpath(".//select[@id='skill']")));
Select proficiency = new Select(m1.findElement(By.xpath(".//select[@name='proficiency']")));
for(int i = 1; i <= 3; i++){
skill.selectByIndex(i);
proficiency.selectByIndex(i);
m1.findElement(By.xpath(".//button[@id='addskill']")).click();
Thread.sleep(2000);
}
OR
Select skill = new Select(m1.findElement(By.xpath(".//select[@id='skill']")));
List<WebElement> listOptionDropdown = skill.getOptions();
int dropdownCount = listOptionDropdown.size();
Select proficiency = new Select(m1.findElement(By.xpath(".//select[@name='proficiency']")));
List<WebElement> listOptionDropdown1 = skill.getOptions();
int dropdownCount1 = listOptionDropdown1.size();
for(int i = 1; i <= 3; i++){
int random = (int)(Math.random());
random = random*dropdownCount +1;
skill.selectByIndex(random);
int random1 = (int)(Math.random());
random1 = random1*dropdownCount1 +1;
proficiency.selectByIndex(random1);
m1.findElement(By.xpath(".//button[@id='addskill']")).click();
Thread.sleep(2000);
}