node.js - Nightwatchjs 标签在 Chrome 的 headless 模式下切换不起作用

标签 node.js selenium selenium-chromedriver nightwatch.js google-chrome-headless

在 Chrome 上没有 headless 模式的情况下运行时,以下测试工作得非常好。实际点击的背景。单击会自动打开一个新选项卡,并且打开该选项卡时会生成一个 PDF(类似于 blob: https://cooldomains.com/alskdjf3sdd )。由于某种原因, headless 模式的行为方式与非 headless 模式不同。搜索遍了谷歌,但似乎找不到答案。

.click('@printSelected', () => {
            browser
                .pause(TIMEOUT)
                .window_handles(function (result) {
                    var newWin = result.value[1];
                    var mainWin = result.value[0];
                    browser.switchWindow(newWin)
                        .assert.urlContains('blob')
                        .closeWindow(newWin).switchWindow(mainWin);
                })
        });
        "chromeOptions": {
      "args": [
        "window-size=1880,1200",
        "allow-running-insecure-content",
        "headless"
      ]
    }

最佳答案

您可以尝试添加:

.pause(3000)

就在之前:

browser.switchWindow(newWin)

我认为 headless chrome 运行速度更快的原因。

关于node.js - Nightwatchjs 标签在 Chrome 的 headless 模式下切换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51431570/

相关文章:

node.js - nvm 的替代品?

python - 如何使用 selenium 和 python 处理 Windows 身份验证弹出窗口?

python - 无法从网页中获取一定数量的正确值

selenium-webdriver - 如何使用 NPM 更新适用于 Windows 的 ChromeDriver?

selenium - org.openqa.selenium.SessionNotCreatedException : session not created exception

c# - 如何从 Chrome 驱动程序(Selenium Web 驱动程序 C#)中分离 Chrome 浏览器

node.js - 对 Node 的 Http 请求挂起并仅在按下服务器控制台上的 a 键后恢复

node.js - 长时间运行的 Node.js 进程在运行几天后会变慢

javascript - "Cast to Number failed for value 1,1 at path"

selenium - 我们什么时候在 selenium chrome 选项中使用 setExperimentalOptions?