selenium:无法自动化youTube的播放暂停和放大

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium:无法自动化youTube的播放暂停和放大相关的知识,希望对你有一定的参考价值。

需要自动化此链接: -


button class =“ytp-large-play-button ytp-button”aria-label =“Play”

我试过用css选择器,类名,xpath;但它不适用于硒

xpath ->  //*[@id="player_uid_334744221_1"]/div[18]/div[1]/div[2]/button 

xpath ->  (//button[@aria-label='Play'])

classname -> ytp-large-play-button

css selec -> .ytp-large-play-button.ytp-button

图片: - enter image description here

PS: - 作为参考,您可以选择任何youtube网址。

看看我的屏幕: - youtube链接和我的网站的youtube参与URL链接之间的区别是。用户需要先点击播放按钮才能播放视频,在youtube中,用户点击视频时会自动播放。 enter image description here

我认为我们需要编写代码,首先需要关注播放按钮并单击它。播放暂停后,音量,放大按钮将显示在面板中。

enter image description here

答案

要识别Play / Pause按钮,您可以使用以下代码行:

Noe:确保您使用的是最新版本的Selenium v3.8.1GeckoDriver v0.19.1Firefox Quantum浏览器。

  • Java package demo; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; public class YouTube_Play_Pause_Button { public static void main(String[] args) { System.setProperty("webdriver.gecko.driver", "C:UtilityBrowserDriversgeckodriver.exe"); WebDriver driver = new FirefoxDriver(); driver.get("https://www.youtube.com/watch?v=PPS89xCgNhk&t=528s"); new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@class='ytp-play-button ytp-button']"))).click(); System.out.println("Play/Pause Button Pressed"); } }

控制台输出:

Play/Pause Button Pressed

以上是关于selenium:无法自动化youTube的播放暂停和放大的主要内容,如果未能解决你的问题,请参考以下文章

YouTube 自动播放无法正常工作

Youtube 自动播放无法在具有嵌入式 HTML5 播放器的移动设备上运行

YouTube 和 Twitch 如何覆盖带音频视频的自动播放策略?

没有静音的 HTML 视频自动播放(或者 youtube 是如何做到的)?

Youtube在ipad和iphone上自动播放

如何将 youtube 视频嵌入为带有自动播放、循环和隐藏观看、分享、Youtube 徽标和视频标题的标题?