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
PS: - 作为参考,您可以选择任何youtube网址。
看看我的屏幕: - youtube链接和我的网站的youtube参与URL链接之间的区别是。用户需要先点击播放按钮才能播放视频,在youtube中,用户点击视频时会自动播放。
我认为我们需要编写代码,首先需要关注播放按钮并单击它。播放暂停后,音量,放大按钮将显示在面板中。
答案
要识别Play
/ Pause
按钮,您可以使用以下代码行:
Noe:确保您使用的是最新版本的
Selenium v3.8.1
,GeckoDriver v0.19.1
和Firefox 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 自动播放无法在具有嵌入式 HTML5 播放器的移动设备上运行
YouTube 和 Twitch 如何覆盖带音频视频的自动播放策略?