【问题标题】:Selenium-Webdriver Node.js Can't Find New WindowSelenium-Webdriver Node.js 找不到新窗口
【发布时间】:2017-01-12 03:42:54
【问题描述】:

我正在运行一个 selenium-webdriver javascript 抓取工具,它登录到一个站点并单击一个按钮来启动一个新的选项卡/窗口。我正在尝试切换驱动程序以专注于新生成的窗口,但 Selenium 找不到它。我必须看的代码:

driver.sleep(10000).then(function() {
    driver.getAllWindowHandles().then(function(d) {
        console.log(d);
    })
})

打印出来的

[ '287ab61a-b155-46de-a2a6-298e0e98e440' ]

哪个是原始浏览器窗口。什么可能导致 Selenium 无法在新窗口中启动?

【问题讨论】:

  • 尝试打印您从方法getAllWindowHandles()获得的元素数量的大小
  • 我刚试过。输出:1
  • 你确定要打开新窗口吗?
  • 我可以看到它,因为我没有无头运行。

标签: javascript selenium selenium-webdriver


【解决方案1】:

这是我在需要切换到新标签时使用的:

const tabs = await driver.getAllWindowHandles();
await driver.switchToWindow(tabs[1]);

如果您想切换回主标签,只需使用tab[0]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-18
    • 2013-01-16
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-28
    相关资源
    最近更新 更多