无法通过Selenium (Java)自动登录dropbox.com



你好,我是新的自动化,我已经尝试自动化dropbox.com登录,但我的代码失败后点击登录链接。我无法在登录框的框架中传递值(用户名和密码)。以下是我的代码:

 import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Drop_box {
    public static void main(String[] args) throws InterruptedException {
        // TODO Auto-generated method stub
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.dropbox.com");
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
        driver.findElement(By.xpath("//*[@id='sign-in']")).click();
        driver.findElement(By.xpath("//*[@id='pyxl1851']")).sendKeys("123@gmail.com");
        driver.findElement(By.xpath("//*[@id='pyxl1854']")).sendKeys("1234");
        driver.findElement(By.xpath("//*[@id='regular-login-forms']/form[1]/div[3]/button")).click();
    }
}

应该可以:

    driver.findElement(By.cssSelector("a#sign-in")).click();
    driver.findElement(By.cssSelector("div#index-sign-in-modal input[name='login_email']")).sendKeys("email");
    driver.findElement(By.cssSelector("div#index-sign-in-modal input[name='login_password']")).sendKeys("password");
    driver.findElement(By.cssSelector("div#index-sign-in-modal div.sign-in-text")).click();

如果您喜欢xpath而不是css选择器,那么使用以下代码行:

    driver.findElement(By.xpath("//*[@id='sign-in']")).click();
    driver.findElement(By.xpath("//div[@id='index-sign-in-modal']//input[@name='login_email']")).sendKeys("email");
    driver.findElement(By.xpath("//div[@id='index-sign-in-modal']//input[@name='login_password']")).sendKeys("password");
    driver.findElement(By.xpath("//div[@id='index-sign-in-modal']//div[@class='sign-in-text']")).click();

最新更新