有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

selenium如何在JAVA代码中获取随机元素?

我想在我的代码中添加一个随机元素。例如,我在JAVA代码中有4个元素。我试图得到第二个元素并在这个地方开始运行程序。另一次,当我开始我的程序时,将是一个元素。我怎么得到这个

        first element :

    while ( true ) {

         driver.get( "example_of_page" );
            WebElement formEmail = driver.findElement(By.name("email"));
            formEmail.sendKeys(Email1);
            WebElement formPassword = driver.findElement(By.name("pass"));
        formPassword.sendKeys(Password2);
        WebElement formRemember = driver.findElement(By.name("persistent"));
        formRemember.sendKeys(" ");
        formPassword.submit();

        second element :


        driver.get("example_of_page");
        WebElement formEmail = driver.findElement(By.name("email"));
        formEmail.sendKeys(Email2);
        WebElement formPassword = driver.findElement(By.name("password"));
        formPassword.sendKeys(Password2);
        WebElement formRemember = driver.findElement(By.name("remember"));
        formRemember.sendKeys(" ");
        WebElement formSubmit = driver.findElement(By.name("login_button"));
        formSubmit.click();

    the third element :

     driver.get("example_of_page");
        WebElement formEmail = driver.findElement(By.name("email"));
        formEmail.sendKeys(Email3);
        WebElement formPassword = driver.findElement(By.name("password"));
        formPassword.sendKeys(Password3);
        WebElement formRemember = driver.findElement(By.name("remember"));
        formRemember.sendKeys(" ");
        WebElement formSubmit = driver.findElement(By.name("login_button"));
        formSubmit.click();

    the fourth  element :

      driver.get( "example_of_page" );
            WebElement formEmail = driver.findElement(By.name("email"));
            formEmail.sendKeys(Email4);
            WebElement formPassword = driver.findElement(By.name("pass"));
        formPassword.sendKeys(Password4);
        WebElement formRemember = driver.findElement(By.name("persistent"));
        formRemember.sendKeys(" ");
        formPassword.submit();

}

如何在循环中命名、定义此元素以运行随机元素并从此处开始代码?我在这个函数上使用循环,元素和这个元素不能在一个循环上重复


共 (4) 个答案

  1. # 1 楼答案

    可以使用Random获取数组或列表的随机元素

    String[] words = "Hello All The World".split(" ");
    String word = words[new Random().nextInt(words.length)];
    

    还是要一份清单

    List<String> words = 
    String word = words.get(new Random().nextInt(words.size()));
    
  2. # 2 楼答案

    我认为你在这里要求的基本上是为4个元素选择一个随机元素。一种方法是将这些元素添加到数组中

    Array[0] = element1
    Array[1] = element2
    Array[2] = element3
    Array[3] = element4
    

    然后您可以使用Java获得一个随机数

    Random rand = new Random();
    int randomNum = rand.nextInt((max - min) + 1) + min;
    

    在这里,您可以用您的最小元素数和最大元素数替换max和min。在这种情况下是0到3

    获得此数字后,可以使用它索引到元素数组中

     Array[randNum]
    

    希望这个答案有帮助

  3. # 3 楼答案

    你可以试试RandomMath.random

    以下是一个简单的例子:

    Random random = new Random();
    random.nextInt();
    

    Math.random()
    
  4. # 4 楼答案

    这里是您可能开始的结构,并确保您可以离开块while,而不是将其保持在无限循环中

    import java.util.Random;
    
    public class StarAt {
    
      public static void main(String s[]) {
        while (true) {
            int element = new Random().nextInt(4)+1;
            switch (element){
                case 1: 
                        /*
                            Here put code first element
                        */          
                        break;
                case 2: 
                        /*
                            Here put code second element
                        */          
                        break;
                case 3: 
                        /*
                            Here put code third element
                        */          
                        break;
                case 4: 
                        /*
                            Here put code fourth element
                        */          
                        break;
            }
        }
      }
    }