【问题标题】:Using Selenium Webdriver (with Java) to test a video without ID使用 Selenium Webdriver (with Java) 测试没有 ID 的视频
【发布时间】:2015-03-31 23:50:11
【问题描述】:

我正在尝试使用暂停/播放/播放等标准操作从头开始测试没有 ID 的视频(其为 webm 格式)。这是我目前发现的http://roadtoautomation.blogspot.com.au/2014/04/road-to-automate-html5-video-with.html

所以只需在此处粘贴部分代码:

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 不是函数)。有什么建议吗?

【问题讨论】:

    标签: java javascript selenium video selenium-webdriver


    【解决方案1】:

    查找类名称的 HTML video 标记。然后你可以使用函数getElementsByClassName()。这对我有用:

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

    【讨论】:

      【解决方案2】:

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

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

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

      WebElement video = driver.findElement(By.tagName("video"));
      
      JavascriptExecutor js = (JavascriptExecutor) driver;
      js.executeScript("arguments[0].play();", video);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-25
        • 2016-04-09
        • 2013-07-11
        • 2012-04-24
        • 2018-07-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多