如何使用Selenium WebDriver C#在YouTube上使用上传按钮

时间:2014-03-24 21:45:25

标签: c# selenium youtube

我正在努力制作一个YouTube视频上传器,只需点击一下即可上传视频。到目前为止,我正设法进入http://www.youtube.com/upload页面,但我找不到使用该按钮上传视频的方法。

经过一番研究后,我发现上传文件的正确方法是uploadVid.SendKeys("C:\\video.flv");。到目前为止,我正处于这一点:

    //  IWebElement uploadVid = driver.FindElement(By.Id("start-upload-button-single"));
   //   IWebElement uploadVid = driver.FindElement(By.XPath("//*[@id=\"upload-prompt-box\"]/div[1]"));
  //    IWebElement uploadVid = driver.FindElement(By.XPath("//*[@id=\"start-upload-button-single\"]"));
        IWebElement uploadVid = driver.FindElement(By.ClassName("upload-drag-drop-description"));
        uploadVid.SendKeys("C:\\video.flv"); 

我已经评论过的内容是我迄今为止所尝试过的,没有任何成功。我一直收到错误element not found

我在VS2013中使用C#Selenium WebDriver,WPF。

1 个答案:

答案 0 :(得分:0)

5年后...
这是使用硒将视频上传到YouTube的python解决方案。应该很容易在C#中实现。

from selenium import webdriver
driver = webdriver.Firefox()
driver.implicitly_wait(5) # Wait up 5 sec before throwing an error if selenium cannot find the element (!important)
driver.get("https://www.youtube.com/upload")
elem = driver.find_element_by_xpath("//input[@type='file']")
elem.send_keys("C:\\full\\path\to\\video.mp4"); # Window$
#elem.send_keys("/full/path/to/video.mp4"); # Linux

注释:
1-要聪明,要稳步前进,
2-YouTube每天最多上传50个,但第一天最多上传100个;
3-截至2019年,YouTube API仅限上传5个视频(◔_◔)