java - Selenium WebDriver 无法切换到弹出窗口

标签 java selenium webdriver

将显示一个弹出窗口,要求输入联系信息。它不是 iframe、警报或基于窗口的弹出窗口。 URL 甚至没有改变。在主页上,我单击“联系我们”,然后出现一个弹出窗口,看起来像一个表单。如何将驱动程序控制切换到它并发送输入联系信息?

我们非常感谢任何帮助。

最佳答案

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

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();

关于java - Selenium WebDriver 无法切换到弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39321718/

相关文章:

java - MapReduce 将数据集拆分为列

java - 对 Java EE Web 应用程序的外部访问

excel - 在 Selenium VBA 中提取变化的 XPath

java - WebDriver 等待 JQuery 完成

javascript - Selenium WebDriverJS thenCatch 没有捕获 StaleElementException

python - 没有弹出窗口的 Webdriver

java - 为什么 JUnit 测试方法需要无效?

java - 如何使用 Java 有效地读取 Hadoop (HDFS) 文件中的第一行?

Selenium Grid2 - 远程节点未连接到集线器

python - 面临从建议下拉列表中选择第二项的问题