Selenium WebDriver如何从“选择选项”菜单中选择随机选项(不包括一个选项)
我有代码选择选项:Selenium WebDriver如何从“选择选项”菜单中选择随机选项(不包括一个选项),selenium,random,selenium-webdriver,Selenium,Random,Selenium Webdriver,我有代码选择选项: Select kraj = new Select (driver.findElement(By.id("kraj"))); kraj.selectByIndex(new Random().nextInt(user_country.getOptions().size())); 这段代码还可以,但我想排除一个随机选择选项。 我该怎么做 selectByIndex random all index,但我希望第一个索引不会是随机的(第一个索引的名称始终相同:“--your choi
Select kraj = new Select (driver.findElement(By.id("kraj")));
kraj.selectByIndex(new Random().nextInt(user_country.getOptions().size()));
这段代码还可以,但我想排除一个随机选择选项。
我该怎么做
selectByIndex random all index,但我希望第一个索引不会是随机的(第一个索引的名称始终相同:“--your choice--”添加几行代码来定义一个范围
Random randomOption = new Random();
int startOption = 1; //assuming "--your choice--" is index "0"
int endOption = user_country.getOptions().size()); // end of range
int number = startOption + randomOption .nextInt( endOption - startOption);
//那就做你的事
Select kraj = new Select (driver.findElement(By.id("kraj")));
kraj.selectByIndex(number );
试试这个
// Assume the select has 5 options
Random random = new Random();
// Get a random number between 0 and 3 (that is size - 1, random.nextInt() generated is 0 inclusive, 4 exclusive.
int optionIndex = random.nextInt(user_country.getOptions().size() - 1);
// Increment optionIndex by 1 to pick an option between 1 to 4
kraj.selectByIndex(optionIndex++);
上面的代码本质上与random.nextInt(range)相反,其中0是独占的,range-1是包含的。@ivan试试这个
Select menu=newselect(driver.findElement(By.xpath(“”));
菜单。选择ByVisibleText(“输入要选择的选项”);
您可以尝试以下操作:
int random=0;
do{
random=new Random().nextInt(user_country.getOptions().size());
}while(random==0);
Select kraj = new Select(driver.findElement(By.id("kraj")));
kraj.selectByIndex(random);
上述循环将运行,直到随机值不等于“0”。如果随机值不同,则它将退出循环并选择选择菜单的相关索引
您可以将while(random==0)中的值从“0”更改为'0到user\u country.getOptions().size()-1'范围内的任何其他值,该值将被排除在选择之外。我不太清楚。您的意思是要排除第一个索引(默认选项)吗当试图选择一个随机选项时?我不明白这一点:
(内点-开始点+1)
仅仅(内点-开始点)
?在这种情况下你是对的。你只能使用(内点-开始点)