java - 如何控制Selenium WebDriver中点击后出现的新打开窗口?

标签 java selenium-webdriver automation

我只是想使用 Selenium WebDriver 自动执行 Gmail 登录过程...输入电子邮件 ID 后,将打开一个新页面以输入密码。如何输入密码?

WebElement element= driver.findElement(By.xpath("//*[@id='ident']"));
element.sendKeys("THE EMAIL ID");
element.sendKeys(Keys.ENTER);
WebElement ele= driver.findElement(By.xpath("//*[@id='passd']"));
ele.sendKeys("THE PASSWORD");
ele.sendKeys(Keys.ENTER);

最佳答案

您必须将驱动程序切换到当前处理程序。

请使用以下代码输入密码。

   WebElement element= driver.findElement(By.xpath("//*
   [@id='ident']"));
   element.sendKeys("THE EMAIL ID");
   element.sendKeys(Keys.ENTER);

   String mainWindowHandler = driver.getWindowHandle();

   for(String winHandle : driver.getWindowHandles()) {
       if (!mainWindowHandler.equals(winHandle)) {
           driver.switchTo().window(winHandle);
       }
   }

   WebElement ele = driver.findElement(By.xpath("//*[@id='passd']"));
   ele.sendKeys("THE PASSWORD");
   ele.sendKeys(Keys.ENTER);

关于java - 如何控制Selenium WebDriver中点击后出现的新打开窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47572527/

相关文章:

java - 带有 jUnit 的测试监听器

css - 使用 Capybara ElementNotFound 选择下拉菜单

java - 在 do while 循环中正确使用 Scanner.next(Pattern pattern) 的问题

java - 如何在 cocos2d android 1 中创建 cocos2d 粒子效果?

google-chrome - WebDriver异常: unknown error: DevToolsActivePort file doesn't exist while trying to initiate Chrome Browser

java - Selenium脚本读取嵌入html中的js文件

java - 如何使用 Java 在 Selenium 中通过文本查找 Web 元素?

java - 在 CriteriaBuilder 查询中使用 getter

java - 强制音频进入麦克风

python-3.x - 使用 selenium 时禁用 Safari 中的自动化警告