如何使用硒加载视频?

时间:2018-10-26 18:40:04

标签: node.js selenium selenium-webdriver html5-video

我正在尝试检测网页上的视频是否有音轨,但无法获取硒来加载视频。

以下是我正在做的事情:

const webdriver = require("selenium-webdriver");
const driver = new webdriver.Builder()
    .forBrowser("firefox")
    .usingServer(myGridURL)
    .build();

const done = (result) => console.log(result);

driver.get(urlWithHTML5Video).then(() => {
    driver.executeAsyncScript(() => {
        const done = arguments[arguments.length - 1];
        const video = document.getElementsByTagName("video")[0];

        video.addEventListener("loadeddata", function() {
            if (this.mozHasAudio > 0) {
                done("audio track detected");
            } else {
                done("audio track not detected");
            }
        }, false);

        video.load();

        setTimeout(() => {
            done("video did not load");
        }, 10000);
    });
}, [], done);

这总是打印“视频未加载”,即使我在等待几秒钟后检查状态,视频readyState始终为0,而mozHasAudio始终为{{1} }。我也在Chrome中进行了尝试,虽然我得到一个false值指示视频已加载,但我无法为readState得到一个正值,该值应表明视频具有音轨(确实如此)。

这是我在Chrome上尝试过的方法:

webkitAudioDecodedByteCount

我正在使用共享的硒网格,该网格应访问Firefox和Chrome的真实(非无头)版本。我不确定这些机器的设置方式,因此可能需要向驱动程序发送其他参数以启用视频,但我无法确定这些参数和内容。

编辑

可以肯定的是,我拍了一张截图:

a video component showing "no video with supported format and mime type found"

0 个答案:

没有答案