如何设置 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
期望休眠的时间长度以毫秒为单位。
很简单的问题,但是,我对此有困难。我想使用 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
期望休眠的时间长度以毫秒为单位。