2015-03-31 71 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();"); 
相關問題