我想点击浏览器中音频元素的播放按钮
现在音频元素的 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();
但是我如何专门点击播放和音量按钮?
最佳答案
您可以调用 JavaScript native 方法来播放音频:
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");
关于selenium - 如何在 Selenium 中处理 HTML Audio 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53515607/