在Browserstack中通过Android上的Selenium执行javascript的限制?
我很难使用以下堆栈播放视频:Selenium+BrowserStack+Android+JavascriptExecutor+VideoJS Player/JWPlayer。让我们以VideosJS播放器为例 请注意,这不是Appium在Browserstack中通过Android上的Selenium执行javascript的限制?,android,selenium-webdriver,jwplayer,video.js,browserstack,Android,Selenium Webdriver,Jwplayer,Video.js,Browserstack,我很难使用以下堆栈播放视频:Selenium+BrowserStack+Android+JavascriptExecutor+VideoJS Player/JWPlayer。让我们以VideosJS播放器为例 请注意,这不是Appium 当我用Selenium单击“播放视频”按钮(playBackButton.click();)时,它开始播放桌面和移动设备上的 当我用Javascript(executor.executeScript(“参数[0]。单击();”,播放BackButton);)单
- 当我用Selenium单击“播放视频”按钮(
)时,它开始播放桌面和移动设备上的playBackButton.click();
- 当我用Javascript(
)单击时-它不会在移动设备上启动播放。在桌面上工作很好executor.executeScript(“参数[0]。单击();”,播放BackButton);
- 当我尝试执行本机方法
-它在移动设备上不起作用,在桌面上可以正常工作.play()
您提到的javascript方法是移动浏览器的原生方法吗?我的意思是,它在移动浏览器上是开箱即用的吗?不确定点击。
play()。
String xpath = "//*[@title='Play Video']";
playBackButton = _webDriver.findElement(By.xpath(xpath));
String script = "function sleep(ms) {" +
"return new Promise(resolve => setTimeout(resolve, ms)); }" +
"async function demo() {" +
"await sleep(5000);" +
"try{" +
"jwplayer().play();}" +
"catch(err) {" +
"console.log('error');}" +
"try{" +
"var videoId = document.getElementsByTagName('video')[0].getAttribute('id');" +
"videojs(videoId).play();}" +
"catch(err){" +
"console.log('error');}}" +
"demo();";
JavascriptExecutor executor = (JavascriptExecutor) _webDriver;
//executor.executeScript("arguments[0].click();", playBackButton);
//executor.executeScript(script);
//playBackButton.click();