Is it possible to upload file attachment with selenium in Python script?
If there is a form with file input on the page, I think it's straightforward to fill value in the input and submit the form with python api of selenium. You can find some sample code on the document page
It can be done via:
element = driver.find_element_by_name("file")
element.send_keys("/home/pavel/Desktop/949IH3GNHAo.jpg")
A simple method to upload files is by using pyautogui. You can install pyautogui through pip
import pyautogui
... # set the webdriver etc.
...
...
self.driver.find_element_by_id("Open file selector").click()# This opens the windows file selector
pyautogui.write('C:/path_to_file')
pyautogui.press('enter')
button = driver.find_element_by_xpath("xpathToYourButton")
button.send_keys("fullPathToFile")
Now if you are in windows path to file uses backslash. To avoid issues use double backslashes! C:\ \Users\ ****\ \Desktop\ \1.jpg without spaces.
PS. I know its a from 4 years ago but I have been trying to figure this out for some time and someone might find this usefull...
Python solution to upload a video to YouTube using selenium.
from selenium import webdriver
driver = webdriver.Firefox()
driver.implicitly_wait(5) # Wait up to 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
Notes:
1 - Be smart, go slowly but surely;
2 - YouTube max uploads per day is 50, but on the first day is 100;
3 - As of 2019, youtube api is limited to 5 video uploads (◔ _◔)
give it a shot ytb_up based selenium. inspired from bunch of auto upload youtube video library
https://github.com/wanghaisheng/ytb-up features YOU MAY NEED
- proxy support
auto detect whether need a proxy 2. cookie support
for those multiple channels under same google account 3. schedule time publish
you can explictly specify a date and time for each video or you can set publish policy and daily public count,for example,daily count is 4,you got 5 videos,then first 4 will be published 1 day after the upload date ,the other 1 will be 2 days after the upload date 4. fix google account verify
it is quite simple, just record it using IDE. Upload command is working
If there is a form with file input on the page, I think it's straightforward to fill value in the input and submit the form with python api of selenium. You can find some sample code on the document page
© 2022 - 2024 — McMap. All rights reserved.