【问题标题】:How to handle HTML Audio element in Selenium如何在 Selenium 中处理 HTML 音频元素
【发布时间】:2019-04-30 03:13:24
【问题描述】:

我想在浏览器中点击音频元素的播放按钮

现在音频元素的html标签是:

<audio autoplay="true" controls="" controlslist="nodownload" id="audioElement" style="visibility: visible;" src="file.wav">
            <source type="audio/x-wav" src="">
</audio>

使用 Selenium,我可以点击音频元素:

driver.findElement(By.id("audioElement")).click();

但是如何专门点击播放和音量按钮呢?

【问题讨论】:

    标签: selenium selenium-webdriver automation automated-tests


    【解决方案1】:

    您可以调用 JavaScript 原生方法来播放音频:

    JavascriptExecutor jse = (JavascriptExecutor)driver;
    jse.executeScript("document.querySelector('#audioElement').play();");
    

    或者你可以设置音量值:

    JavascriptExecutor jse = (JavascriptExecutor)driver;
    jse.executeScript("document.querySelector('#audioElement').volume = 0.3;");
    

    静音:

    JavascriptExecutor jse = (JavascriptExecutor)driver;
    jse.executeScript("document.querySelector('#audioElement').muted = true;");
    

    您可以查看list of all audio properties and methods

    更新

    获取当前状态(暂停、静音、音量...):

    jse.executeScript("return document.querySelector('#audioElement').muted");
    jse.executeScript("return document.querySelector('#audioElement').paused");
    jse.executeScript("return document.querySelector('#audioElement').volume");
    

    【讨论】:

    • 嗨。如何验证音频是否已播放、暂停或静音?
    猜你喜欢
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    相关资源
    最近更新 更多