我正在努力制作一个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。
答案 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个视频(◔_◔)