如何设置 Thread.sleep 为随机数 (Selenium Java)

How to setup Thread.sleep to be a random number (Selenium Java)

很简单的问题,但是,我对此有困难。我想使用 sleep.thread 在随机数字范围内点击按钮,例如 30-50 秒。这必须是一个睡眠命令。有一个点击元素的循环,我尝试这样做(我在另一个答案中发现了这个,对我不起作用)

List<WebElement> textfields = driver.findElements(By.className("_84y62"));


    System.out.println("total buttons " + textfields.size());

        for (WebElement e : textfields) {
            e.click();

                Thread.sleep((long)(Math.random() * 11 + 10));
            }

Thread.sleep() 使用参数中的值(以毫秒为单位),因此要等待 50 秒,您应该调用: Thread.sleep(50000)。 要在选定范围内生成值,您可以使用简单的公式 randomNum = minimum + (long)(Math.random() * maximum)

如果我想在 30-50 秒之间暂停,我会按如下方式实现:

private void sleepRandomly() {
    try {
        Thread.sleep(getMillis());
    } catch (InterruptedException e) {
        Thread.currentThread().interrupt();
        throw new RuntimeException(e);
    }
}

private static long getMillis() {
    return (long) (Math.random() * 20_000 + 30_000);
}

记住 sleep 期望休眠的时间长度以毫秒为单位。