Как работать с элементом HTML Audio в Selenium - PullRequest
0 голосов
/ 28 ноября 2018

Я хочу нажать на кнопку воспроизведения аудиоэлемента в браузере

enter image description here

Теперь 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();

Но как конкретно щелкнуть по кнопкам воспроизведения и громкости?

1 Ответ

0 голосов
/ 28 ноября 2018

Вы можете вызвать собственный метод 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;");

Вы можете проверить список всех audio свойств и методов

Обновление

Чтобы получить текущее состояние (приостановлено, отключено, уровень громкости)...):

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