【发布时间】:2015-09-14 04:55:42
【问题描述】:
不知道如何上传文件?它需要拖放或通过对话框选择
【问题讨论】:
标签: python selenium selenium-webdriver selenium-chromedriver
不知道如何上传文件?它需要拖放或通过对话框选择
【问题讨论】:
标签: python selenium selenium-webdriver selenium-chromedriver
“您似乎无法使用典型的 sendkeys 方法在 YouTube 上上传文件”
4 年后...
@chandan-nayak:可以,这是一个使用 selenium 将视频上传到 YouTube 的 python 解决方案:
from selenium import webdriver
driver = webdriver.Firefox()
driver.implicitly_wait(5) # Wait up to 5 secs 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 个视频(◔ _◔)
【讨论】:
Elem.send_keys("C:\\first.mp4","C:\\second.mp4")这不起作用
根据此处的答案:stackoverflow 您似乎无法使用典型的 sendkeys 方法在 YouTube 上上传文件。
正如@Arran 在评论部分所说-
Selenium 无法处理文件上传对话框。 YouTube 使用 HTML5 输入 字段,并且 Selenium 不处理 HTML5 元素,即使在 丝毫。正如我所说,Selenium 无法支持这一点。硒不会 在这里工作
您应使用youtube提供的API
【讨论】:
5 年后...
我遇到了同样的问题并找到了youtube-uploader-selenium 包。
截至 2019 年,youtube api 限制为每天上传 5 个视频(◔ _◔)
描述说
相反,此脚本仅受每日上传限制的限制 YouTube 上的频道:前 24 小时限制为 100 个视频, 然后每 24 小时下降到 50 个。
【讨论】:
你可能需要这个 试一试基于 ytb_up 的 selenium
https://github.com/wanghaisheng/ytb-up 您可能需要的功能
自动检测是否需要代理 2. cookie 支持
对于同一谷歌帐户下的多个频道 3. 安排时间发布
您可以为每个视频明确指定日期和时间,或者您可以设置发布政策和每日公开数量,例如,每日数量为 4,您有 5 个视频,那么前 4 个将在上传日期后 1 天发布,另外1个是上传日期后2天 4.修复谷歌账号验证
【讨论】: