2015-03-31 84 views
0

我正在尝试使用标准动作(如暂停/播放/播放从头开始)来测试没有ID的视频(其以webm格式)。以下是我迄今发现http://roadtoautomation.blogspot.com.au/2014/04/road-to-automate-html5-video-with.html使用Selenium Webdriver(使用Java)来测试没有ID的视频

所以才贴上这里的部分代码:

JavascriptExecutor js = (JavascriptExecutor) driver; 

//play video 
js.executeScript("document.getElementById(\"video\").play()"); 
Thread.sleep(5000); 

//pause playing video 
js.executeScript("document.getElementById(\"video\").pause()"); 

//check video is paused 
System.out.println(js .executeScript("document.getElementById(\"video\").paused")); 

不幸的是视频没有ID,我不能用这种方法。我试图用document.getElementsByTagName做类似的工作,但它没有起作用(去错误document.getElementsByTagName(...).play不是函数)。有什么建议么?

回答

0

您不必使用javascript执行程序来查找video元素。

找到它与selenium并传递给执行者来控制它。

例如,如果你只是通过标签名找到它:

WebElement video = driver.findElement(By.tagName("video")); 

JavascriptExecutor js = (JavascriptExecutor) driver; 
js.executeScript("arguments[0].play();", video); 
+0

谢谢你快速回答alecxe!有用 – 2015-04-01 00:29:16

0

外观为HTML video标签的类名。然后你可以使用功能getElementsByClassName()。这对我有效:

(JavascriptExecutor(driver)) 
    .executeScript("document.getElementsByClassName('Video Class Name')[0].click();"); 
相关问题