【问题标题】:How to click a checkbox in an alert popus using Selenium Java如何使用 Selenium Java 在警报弹出窗口中单击复选框
【发布时间】:2019-10-05 12:58:29
【问题描述】:

伙计们 我找不到单击(取消单击)放置在警报窗口、模式弹出窗口中的复选框的解决方案。 我们有三种类型的弹出窗口:警报、确认、提示。 在确认弹出窗口中有一个复选框。我想使用 selenium webdriver 和 java 语言来检查它。 有处理这些弹出窗口的函数:dismiss()、accept()、sendKeys()、getText()。 是否可以检查弹出窗口中的复选框?我希望,是的。 有人可以帮助我吗? 谢谢

【问题讨论】:

  • 欢迎来到 Stack Overflow!请参阅:How do I do X? SO 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享该研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask

标签: javascript java selenium webdriver


【解决方案1】:

你可以通过两种方式做到这一点

1)

driver.switchTo().alert();
driver.findElement(By.xpath("")).click();

将您的定位器放在上面的代码中

2)

如果上面不起作用,那么如下:

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); // switch to popup window

driver.findElement(By.xpath("")).click();

driver.switchTo().window(parentWindowHandler);  // switch back to parent window

如果还是不行,请检查是否存在任何框架,您还需要切换到框架

【讨论】:

  • 感谢您的回答。但是有一个问题:在这两个示例中,您都使用了“xPath”。但不可能在 Alert Popup 字段中使用 xPath 定位器。所以你的建议不能解决问题。也许我错了...有四个函数处理弹出的警报:accept()、dismiss()、getText()、sendKeys()。他们都没有做出我期望的动作”选中一个复选框。也许还有其他功能。你知道吗?br
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-06
相关资源
最近更新 更多