当前位置: 首页 > 知识库问答 >
问题:

让硒暂停X秒

汪学真
2023-03-14

我试图完成的是浏览到一个页面,等待加载一些内容,然后拍摄并保存一个屏幕截图。

我已有的代码是

WebDriver driver = new FirefoxDriver();


driver.get("http://www.site.com");


driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

try {

    File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
    FileUtils.copyFile(scrFile, new File("/home/Desktop/image.png"));

} catch (Exception e) { 

       e.printStackTrace(); 
}

driver.close();

我需要等待的原因是,即使页面已加载,也会加载,但在网站上,几秒钟后我想拍摄加载的内容。出于某种原因,页面没有等待,有没有其他方法可以让驱动程序/页面等待X秒?

共有3个答案

屈升
2023-03-14

如果您想延迟一定数量的秒数,而不是尽快响应,这里有一个类似于selenium IDE提供的暂停功能:

public void pause(Integer milliseconds){
    try {
        TimeUnit.MILLISECONDS.sleep(milliseconds);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

来源

经景辉
2023-03-14

这并不是真正的硒特定的东西。您只是希望java在加载页面后但在截屏之前睡一会儿。

Thread.sleep(4000);

把它放在你的driver.get陈述之后。

詹钊
2023-03-14

您可以找到在初始页面加载后加载的元素,然后让Selenium等待直到找到该元素

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("ID")));
 类似资料:
  • 问题内容: 我要完成的工作是浏览页面,等待加载内容,然后获取并保存屏幕截图。 我已经拥有的代码是 即使页面已加载,我也需要等待的原因是因为它将被加载,但是在网站上我想在几秒钟后为加载的图片拍照。由于某种原因,页面没有等待, 是否可以使用另一种方法让驱动程序/页面等待X秒钟? 问题答案: 您可以找到在初始页面加载后加载的元素,然后让Selenium等待直到找到该元素。

  • 问题内容: 我要完成的工作是浏览页面,等待加载内容,然后获取并保存屏幕截图。 我已经拥有的代码是 即使页面已加载,我也需要等待的原因是因为它将被加载,但是在网站上,我想在几秒钟后为加载的图片拍照。由于某种原因,页面没有等待, 是否可以使用另一种方法让驱动程序/页面等待X秒钟? 问题答案: 您可以找到在初始页面加载后加载的元素,然后让Selenium等待直到找到该元素。

  • 暂停脚本的当前线程。 #p::Pause ; 按一次 Win+P 会暂停脚本. 再按一次则取消暂停. Pause [, On|Off|Toggle, OperateOnUnderlyingThread?] 参数 On|Off|Toggle 如果为空或省略, 则它默认为 Toggle. 否则, 请指定下列单词的其中一个: Toggle:如果在当前线程下的潜在线程处于运行状态,则暂停当前线程,否则让潜

  • 我如何在x个循环之后暂停我的循环x秒? 我的循环逐行读取IP地址列表。在50个循环之后,它应该暂停x秒,直到循环继续。

  • 1.若要暂停训练,请按下该按钮。显示暂停。若要继续训练,请点击绿色箭头图标。 2.若要停止训练,在记录训练期间或处于暂停模式时长按该按钮三秒钟,直至计数器清零。或者您可以点击并按住显示屏上的红色停止按钮。 如果在暂停后停止训练,则暂停后经过的时间不包括在总训练时间内。

  • 若要暂停训练 长按正面按钮 或 在训练视图中向右滑动,找出并轻触暂停图标。 通过向左滑动您可以在暂停模式中看到训练总结。 恢复暂停的训练 轻触绿色箭头图标。 停止训练 在训练期间或在暂停模式中,长按正面按钮直至绿色计时器一直倒数。 或 在暂停模式中,轻触并按住红色停止图标可结束记录。