你好,我是新的自动化,我已经尝试自动化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();