如何通过 selenium webdriver python 上传文件到 youtube?
How upload file to youtube via selenium webdriver python?
不知道如何上传文件?需要拖放或直接通过对话框选择
根据此处的回答:Whosebug
看起来您无法使用典型的 sendkeys 方法将文件上传到 YouTube。
正如@Arran 在评论部分所说的那样 -
Selenium cannot handle file upload dialogs. YouTube uses HTML5 input
fields, and Selenium doesn't handle HTML5 elements even in the
slightest. As I said, Selenium cannot support this. Selenium won't
work here
You shall use the API provided by youtube
"Looks like you cannot upload files on YouTube using the typical sendkeys method"
4年后...
@chandan-nayak:可以,这是一个 python 使用 selenium 将视频上传到 YouTube 的解决方案:
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 个视频(◔ _◔)
5年后...
我 运行 遇到了同样的问题并找到了 youtube-uploader-selenium 包。
As of 2019, youtube api is limited to 5 video uploads per day(◔ _◔)
描述说
Instead, this script is only restricted by a daily upload limit for a
channel on YouTube: 100 videos is the limit in the first 24 hours,
then drops to 50 every 24 hours after that.
你可能需要这个
试一试 ytb_up 基于 selenium
https://github.com/wanghaisheng/ytb-up
您可能需要的功能
- 代理支持
自动检测是否需要代理
2. cookie 支持
对于同一 google 帐户下的多个频道
3. 预定时间发布
您可以为每个视频明确指定日期和时间,或者您可以设置发布策略和每日 public 计数,例如,每日计数为 4,您有 5 个视频,则前 4 个将被发布上传日期后 1 天,其他 1 将是上传日期后 2 天
4.修复google账户验证
不知道如何上传文件?需要拖放或直接通过对话框选择
根据此处的回答:Whosebug 看起来您无法使用典型的 sendkeys 方法将文件上传到 YouTube。
正如@Arran 在评论部分所说的那样 -
Selenium cannot handle file upload dialogs. YouTube uses HTML5 input fields, and Selenium doesn't handle HTML5 elements even in the slightest. As I said, Selenium cannot support this. Selenium won't work here
You shall use the API provided by youtube
"Looks like you cannot upload files on YouTube using the typical sendkeys method"
4年后...
@chandan-nayak:可以,这是一个 python 使用 selenium 将视频上传到 YouTube 的解决方案:
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 个视频(◔ _◔)
5年后...
我 运行 遇到了同样的问题并找到了 youtube-uploader-selenium 包。
As of 2019, youtube api is limited to 5 video uploads per day(◔ _◔)
描述说
Instead, this script is only restricted by a daily upload limit for a channel on YouTube: 100 videos is the limit in the first 24 hours, then drops to 50 every 24 hours after that.
你可能需要这个 试一试 ytb_up 基于 selenium
https://github.com/wanghaisheng/ytb-up 您可能需要的功能
- 代理支持
自动检测是否需要代理 2. cookie 支持
对于同一 google 帐户下的多个频道 3. 预定时间发布
您可以为每个视频明确指定日期和时间,或者您可以设置发布策略和每日 public 计数,例如,每日计数为 4,您有 5 个视频,则前 4 个将被发布上传日期后 1 天,其他 1 将是上传日期后 2 天 4.修复google账户验证