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

如何将Thread.sleep设置为随机数(Selenium Java),java,multithreading,selenium,random,sleep,Java,Multithreading,Selenium,Random,Sleep,很简单的问题,但是,我有这个问题。我想使用sleep.thread在随机数字范围内单击按钮,例如30-50秒。这一定是一个sleep命令。有一个循环,点击元素,我尝试这样做(我在另一个答案中发现了这一点,对我不起作用) List textfields=driver.findElements(By.className(“84y62”); System.out.println(“总按钮”+textfields.size()); for(WebElement e:textfields){ e、 单击(

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

List textfields=driver.findElements(By.className(“84y62”);
System.out.println(“总按钮”+textfields.size());
for(WebElement e:textfields){
e、 单击();
Thread.sleep((长)(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
期望睡眠时间的长度以毫秒为单位。

它怎么不起作用?它是否导致了错误,或者没有按照您的预期睡眠?您是否阅读了
睡眠
的文档?公式已关闭
Math.random()*maximum
将为您提供一个
maximum
范围,而不是
maximum-minimum
。请在向下投票前检查代码。你用一个问题作为你的来源?您没有看到问题吗
randomNum
可能大于
最大值
?顺便说一句,我不是落选者。谢谢你的帮助,我已经得到了答案。我也没有投反对票。谢谢你们可靠的回答,它工作得很好。以前的代码只是毫不延迟地单击槽按钮。
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);
}