【问题标题】:Close Flipkart open pop-up and go to main window using Selenium关闭 Flipkart 打开弹出窗口并使用 Selenium 转到主窗口
【发布时间】:2023-04-01 08:00:02
【问题描述】:
WebDriver driver = new FirefoxDriver();
driver.get("https://www.flipkart.com");
driver.manage().window().maximize();
String parentWindowHandler = driver.getWindowHandle(); // Store your parent window
String subWindowHandler = null;
Set<String> handles = driver.getWindowHandles(); // get all window handles
Iterator<String> iterator = handles.iterator();
while (iterator.hasNext()){
    subWindowHandler = iterator.next();
}
driver.switchTo().window(subWindowHandler);

我也尝试切换到主窗口。请添加有价值的输入或代码以关闭弹出窗口。

【问题讨论】:

  • 谁能帮我解决这个问题??

标签: javascript java selenium selenium-webdriver webdriver


【解决方案1】:

您可以通过导入 java.awt.Robot 库来尝试使用 java Robot API。一个例子在这里:

One solution for File Upload using Java Robot API with Selenium WebDriver by Java

您可以尝试类似地使用它来按 Esc 键。在 Flipkart 网站上按 Esc 可以消除弹出窗口。

【讨论】:

  • 嗨 Freya,手动按 Esc 键它正在工作。但尝试使用以下代码但无法正常工作。机器人机器人 = 新机器人();机器人.keyPress(KeyEvent.VK_ESCAPE);如果我错了,请纠正我。提前致谢。
  • 嗨 Shirsh,您也必须释放密钥。尝试使用:机器人机器人=新机器人();机器人.keyPress(KeyEvent.VK_ESCAPE);机器人.keyRelease(KeyEvent.VK_ESCAPE);
  • 嗨 Shirsh,如果对您有所帮助,请接受我的帖子作为答案。和往常一样,如果我能提供进一步的帮助,请告诉我:)
【解决方案2】:

出现在 Flipkart 网站上的弹出窗口是一个简单的 HTML 模式。当需要访问新的弹出窗口时使用窗口句柄。

要关闭弹出窗口,只需单击弹出窗口右上角的十字。使用 waits 确保 selenium 找到 WebElement。

试试这个:

driver.get("https://www.flipkart.com");
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement cross = wait.until(
    ExpectedConditions.visibilityOfElementLocated(By.className("close-icon")));
cross.click()

【讨论】:

  • 嗨杰森。试过这个但不工作。对你有用吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 2012-06-03
  • 2012-10-17
相关资源
最近更新 更多