如何使用Selenium WebDriver(Selenium 2)和Java键入文本框?

Nav*_*wal 11 java testing selenium automation selenium-webdriver

在此输入图像描述 我正在使用Selenium 2.但在运行以下代码后,我无法输入文本框.

    package Actor;
import org.openqa.*;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.junit.*;
import com.thoughtworks.selenium.*;
//import org.junit.Before;
public class Actor {
  public Selenium selenium;
  public WebDriver driver;

  @Before
  public void setup() throws Exception{
  driver = new FirefoxDriver();
      driver.get("http://www.fb.com");
  }
  @Test
  public void Test() throws Exception{
      //selenium.type("id=gs_htif0", "test");
      System.out.println("hi");
      // driver.findElement(By.cssSelector("#gb_1 > span.gbts")).click();
          selenium.waitForPageToLoad("300000000");

          WebElement email=driver.findElement(By.id("email"));

          email.sendKeys("nshakuntalas@gmail.com");
          driver.findElement(By.id("u_0_b")).click();
  }
  @After
  public void Close() throws Exception{
      System.out.println("how are you?");
  }

}
Run Code Online (Sandbox Code Playgroud)

aim*_*ire 15

如果您只使用Selenium WebDriver,并且忘记使用Selenium-RC,这很简单.我会这样的.

WebDriver driver = new FirefoxDriver();
WebElement email = driver.findElement(By.id("email"));
email.sendKeys("your@email.here");
Run Code Online (Sandbox Code Playgroud)

NullPointerException然而,原因是你的变量driver从未启动过,你从FirefoxDriver变量开始wb就永远不会被使用.


Nav*_*wal 7

谢谢朋友,我得到了答案.这只有在你的帮助下才有可能.你们都给了我一线解决这个问题的希望.

这是代码:

package facebook;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;

public class Facebook {
    public static void main(String args[]){
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.facebook.com");
        WebElement email= driver.findElement(By.id("email"));
        Actions builder = new Actions(driver);
        Actions seriesOfActions = builder.moveToElement(email).click().sendKeys(email, "gati.naveen@gmail.com");
        seriesOfActions.perform();
        WebElement pass = driver.findElement(By.id("pass"));
        WebElement login =driver.findElement(By.id("u_0_b"));
        Actions seriesOfAction = builder.moveToElement(pass).click().sendKeys(pass, "naveench").click(login);
        seriesOfAction.perform();
        driver.
    }    
}
Run Code Online (Sandbox Code Playgroud)


小智 5

此时应更换WebDriver wb = new FirefoxDriver();driver = new FirefoxDriver();您的@Before注解.

当您driver使用null 访问对象时,您可以将wb引用变量作为全局变量.