selenium : 不能自动化 youtube 的播放暂停和放大
Posted
技术标签:
【中文标题】selenium : 不能自动化 youtube 的播放暂停和放大【英文标题】:selenium : can not automate youTube 's play-pause and zoom in-out 【发布时间】:2018-06-01 12:23:09 【问题描述】:需要自动化这个链接:-
button class="ytp-large-play-button ytp-button" aria-label="播放"
我尝试过使用 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 中,当用户点击视频时它会自动播放。
我认为我们需要编写代码,首先需要将焦点放在播放按钮上并单击它。之后播放暂停、音量、缩小按钮将显示在面板中。
【问题讨论】:
【参考方案1】:要识别 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:\\Utility\\BrowserDrivers\\geckodriver.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
【讨论】:
org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素 org.openqa.selenium.TimeoutException: 预期条件失败: 等待元素可点击: By.xpath: //button[@class='ytp-play-button ytp-button'] (以 500 MILLISECONDS 间隔尝试 50 秒) 我已经更新了时间,即使显示错误。 youtube 链接和我网站的 youtube 参考 URL 链接之间的区别是。用户需要先点击播放按钮才能播放视频,在 youtube 中,当用户点击视频时它会自动播放。请检查我上传的图片,你可以从中得到一些想法。 我认为我们需要编写一个代码,首先需要关注一个播放按钮并单击它。之后 play-pause 、 volume 、 zoom in out 按钮将显示在面板中。以上是关于selenium : 不能自动化 youtube 的播放暂停和放大的主要内容,如果未能解决你的问题,请参考以下文章
python+selenium自动化环境搭建之后,能打开firefox,却不能执行自动化操作
Python Selenium-使用YouTube调试简单代码