Thread.sleep将不起作用,除非它被包裹在Selenium中的try捕获块中。



我正在编写一个硒代码。

除非我把 Thread.Sleep 放在一个 try catch 块中,否则它将无法工作。它实际上抛出编译时错误。

为什么会这样?

	public void test() {
		
		System.out.println("in the test method");
		achromeDriver.get(abaseUrl);
		
		try {
			Thread.sleep(6000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		WebElement benzRadioBtn = achromeDriver.findElement(By.id("benzradio"));
		benzRadioBtn.click();
		
		WebElement benzCheckBox = achromeDriver.findElement(By.id("benzcheck"));
		benzCheckBox.click();
		
		System.out.println("Is ben radio button selected ? "+  benzRadioBtn.isSelected());
		
	}

Thread.sleep(( 方法抛出一个 InterruptedException。这个异常是否真的会被抛出取决于在执行java代码期间会发生什么,该方法只是让你知道它可能会发生,并且你应该以某种方式处理它。

处理异常的一种方法是将其放在 try catch 块中,因此如果抛出异常,程序仍将继续,并且 catch 块中的代码将执行。

如果你真的不想要一个 try catch 块(不知道为什么你不想要(,你可以在方法的顶部添加一个 throws 声明,看起来像这样:

public void test() throws InterruptedException {

我会阅读更多关于java异常及其工作原理的信息

https://stackify.com/specify-handle-exceptions-java/

https://www.geeksforgeeks.org/exceptions-in-java/

相关内容

  • 没有找到相关文章

最新更新