【问题标题】:How to handle new tab on IE selenium?如何处理 IE selenium 上的新标签?
【发布时间】:2019-06-05 08:43:08
【问题描述】:

当我在 IE 上打开新标签时,我无法处理这个问题。 如何处理新的 IE 选项卡并导航到 url?

我使用 Ctrl+T

【问题讨论】:

  • 嗨@MosheSlavin 感谢您的帮助。但我需要处理新的 IE 选项卡浏览器来查找元素。 Ít 适用于 Chrome,但 IE 不适用。
  • 你应该在你的问题中解释更多......你尝试了什么?
  • 我的脚本 WebUI.openBrowser('google.com') WebDriver driverInstance = DriverFactory.getWebDriver() //driverInstance.findElements(By.cssSelector('input[name="btnK"]')) .get(0).sendKeys(KeyEvent.VK_CONTROL,KeyEvent.VK_T) WebUI.sendKeys(null, Keys.chord(Keys.CONTROL,"t")) driverInstance.switchTo().defaultContent() driverInstance.get("google .com") 不适用于 IE 浏览器。
  • 看起来您正在这里打开一个新标签。 IE 默认会阻止这个。 (它决定这是一个弹出窗口,并会提示用户接受...)

标签: selenium internet-explorer handle


【解决方案1】:

你可以使用:

driver.switchTo().window()

一般不推荐使用JavaScriptExecutor

您应该查看this question 并尝试打开兼容模式。

另外,请查看this answer,了解有关在 IE 中使用 Selenium 的一般信息。

希望这会有所帮助!

【讨论】:

  • 链接很有帮助。
  • 感谢您的帮助,但是IE浏览器无法处理,
  • @TrungNghĩaCao 你看过答案中的链接吗?
  • 谢谢,我从您的回答中找到了解决方案
  • @TrungNghĩaCao 很高兴听到!
【解决方案2】:

尝试使用 JavaScript 执行器,

JavascriptExecutor js = (JavascriptExecutor) driverInstance;
js.executeScript("window.open(arguments[0], 'blank')", null):

【讨论】:

  • 这应该也能工作...但一般不建议使用 JavaScript 执行器。
  • 感谢您的帮助,但它不适用于 IE,
【解决方案3】:

尝试参考代码行可能有助于切换标签。

//Switching between tabs using CTRL + tab keys.
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"\t");
//Switch to current selected tab's content.
driver.switchTo().defaultContent();

有关更多信息,您可以参考下面的链接。

(1)How To Open Tab And Switching Between Tabs In Selenium WebDriver

(2)Selenium 101: Managing Multiple Tabs

【讨论】:

  • WebUI.openBrowser('google.com') WebDriver driverInstance = DriverFactory.getWebDriver() //driverInstance.findElements(By.cssSelector('input[name="btnK"]')).get (0).sendKeys(KeyEvent.VK_CONTROL,KeyEvent.VK_T) WebUI.sendKeys(null, Keys.chord(Keys.CONTROL,"t")) driverInstance.switchTo().defaultContent() driverInstance.get("google.com ")
  • 首先我建议您使用新的示例代码进行测试,然后尝试从中切换选项卡。一旦它工作而不是尝试在您的原始代码中实现。我还注意到您的代码没有使用 '\t'。它缺少“\”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-03
  • 1970-01-01
相关资源
最近更新 更多