我正在使用Java在Selenium编写程序。在我的代码中,我有:
driver = new FirefoxDriver();
我的问题是:如果我在程序执行这行代码时没有连接到互联网,程序将在最终打开Firefox窗口然后崩溃之前挂起很长时间(大约几分钟)在下一行代码
driver.doWhatever();
我想尽可能使用户友好,所以我很乐意让我的程序退出
driver = new FirefoxDriver();
在十五到二十秒内没有完成。
有没有办法在Java中执行此操作?我总是可以进入Selenium并修补它,以便它按照我想要的方式工作,但这似乎是解决这个问题的“错误”方式。
提前致谢。
答案 0 :(得分:4)
可以修改驱动程序类以调整您遇到问题的等待时间。
看起来应该是这样的:
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
您可以根据需要调整时间,但要注意将其降低得太低可能会导致其他问题,例如,如果页面加载时间稍长,则会过早超时。