Java 使用Selenium WebDriver时,无法切换到弹出窗口

Java 使用Selenium WebDriver时,无法切换到弹出窗口,java,selenium,webdriver,Java,Selenium,Webdriver,弹出窗口将显示要求输入联系人信息。它不是iframe、警报或基于windows的弹出窗口。URL甚至没有改变。在主主页上,我点击“联系我们”,我会看到一个弹出窗口,看起来像一个表单。如何将驾驶员控制切换到it并发送输入联系人信息 非常感谢您提供的任何帮助。我不确定您是否有特定问题,或者只是同步问题(本示例将解决此问题): 如果它不是警报或iFrAME,则认为它是页面的正常部分。您可以找到定位器(xpath、css定位器、ID)以及页面的任何其他部分。谢谢您的回复,我也是这么想的,但找不到定位器。

弹出窗口将显示要求输入联系人信息。它不是iframe、警报或基于windows的弹出窗口。URL甚至没有改变。在主主页上,我点击“联系我们”,我会看到一个弹出窗口,看起来像一个表单。如何将驾驶员控制切换到it并发送输入联系人信息


非常感谢您提供的任何帮助。

我不确定您是否有特定问题,或者只是同步问题(本示例将解决此问题):


如果它不是警报或iFrAME,则认为它是页面的正常部分。您可以找到定位器(xpath、css定位器、ID)以及页面的任何其他部分。谢谢您的回复,我也是这么想的,但找不到定位器。该网站为“”。当webdriver单击“联系我们”选项卡时,问题浮出水面。我试过弹出代码中的一些定位器,但Webdriver从未找到它们。再次感谢您的帮助。您能在这里分享这个弹出窗口的HTML吗??并让我们知道您要从弹出窗口中查找哪个元素??同时也分享你的尝试…我在那页上看不到任何问题。。。也许只是同步?我提交了一个同步的例子作为你参考的答案,效果很好!!!谢谢你,基里尔。这是同步。
WebDriver driver = new FirefoxDriver();
WebDriverWait wait = new WebDriverWait(driver, 10); // used for synchronization

driver.get("http://uptake.com/");

// Make sure page was loaded
WebElement contactUs = wait.until(
        ExpectedConditions.elementToBeClickable(By.linkText("Contact Us")));

contactUs.click();

// Wait for Contact Us div to become visible 
// (by checking that title is displayed)
wait.until(
        ExpectedConditions.visibilityOfElementLocated(
                By.xpath("//h2[contains(text(), 'Contact us below.')]")));

// Start filling form
driver.findElement(By.name("name")).sendKeys("John Smith");
// ... rest of the fields
driver.findElement(By.name("message")).sendKeys("Hello!");
driver.findElement(By.xpath("//input[@value='Send']")).click();