Java 使用NoSuchFrameException的Selenium问题

Java 使用NoSuchFrameException的Selenium问题,java,selenium,Java,Selenium,因此,我对Selenium(非常新)和Java都是新手,希望登录到一个页面,然后导航到另一个地方 import java.sql.Driver; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.WebElement; import org.openqa.selenium.htm

因此,我对Selenium(非常新)和Java都是新手,希望登录到一个页面,然后导航到另一个地方

import java.sql.Driver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.openqa.selenium.internal.seleniumemulation.Close;

public class FireEyeAlert throws IOException {

      WebDriver driver = new HtmlUnitDriver();

        driver.get("nnnnnn");
        driver.findElement(By.name("utf8")).clear();
        System.out.println("Element found");
        driver.findElement(By.name("utf8")).sendKeys("nnnnnnn");
        driver.findElement(By.name("authenticity_token")).clear();
        driver.findElement(By.name("authenticity_token")).sendKeys("1nnnnnnnn");
        System.out.println("Element found");

}
我似乎不太明白它为什么不能编译!这是一个简单的代码,从网上照抄下来的

哦,这是我希望访问的网站源文件代码的一部分

<input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="sfWWnPWaNhd1qnOh4tIT8KMs4+VNSv7+aF3VTn+BpxA=" />

我很确定你不能在类级别使用
throws
关键字

这也表明您的测试类中没有任何方法

您的代码应该如下所示:

public class FireEyeAlert {

   public void myTestMethod() throws IOException {

      ...
   }

}

出于好奇,您使用什么工具来编译源代码?

我将简化它并编写如下代码:

import org.openqa.selenium.*;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
public class FireEyeAlert  
{
    public static void main( String args[] ) 
    {
        WebDriver driver = new HtmlUnitDriver();
        driver.get("http://nnnnnn");
        // driver.switchTo().frame( driver.findElement(By.id("frameId")));
        driver.findElement(By.name("utf8")).clear();
        System.out.println("Element found");
        driver.findElement(By.name("utf8")).sendKeys("Jnnnnnn");
        driver.findElement(By.name("authenticity_token")).clear();
        driver.findElement(By.name("authenticity_token")).sendKeys("14nnnnnn!");
        // driver.switchTo().defaultContent();
        System.out.println("Element found");
    }
}

哦,是的,我也试过了,然后像上面那样编辑。。我使用Eclipse,我会修复我的代码,感谢也许还想用@ TestRoWalk检查这个方法,我不知道如何使用@测试的东西……而且在C++中,我通常有一个主,如果我创建了一个与主体分离的类,为什么主在一个java类中?用它创建一些基本的控制台应用程序,它将为您填补空白。你的许多问题都可以通过“了解”语言来解决
import org.openqa.selenium.*;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
public class FireEyeAlert  
{
    public static void main( String args[] ) 
    {
        WebDriver driver = new HtmlUnitDriver();
        driver.get("http://nnnnnn");
        // driver.switchTo().frame( driver.findElement(By.id("frameId")));
        driver.findElement(By.name("utf8")).clear();
        System.out.println("Element found");
        driver.findElement(By.name("utf8")).sendKeys("Jnnnnnn");
        driver.findElement(By.name("authenticity_token")).clear();
        driver.findElement(By.name("authenticity_token")).sendKeys("14nnnnnn!");
        // driver.switchTo().defaultContent();
        System.out.println("Element found");
    }
}