3

Is it possible to upload file attachment with selenium in Python script?

2

7 Answers 7

9

It can be done via:

element = driver.find_element_by_name("file")
element.send_keys("/home/pavel/Desktop/949IH3GNHAo.jpg")
Sign up to request clarification or add additional context in comments.

Comments

1

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')

Comments

0
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...

Comments

0

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 (◔ _◔)

Comments

0

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

  1. 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

Comments

-2

it is quite simple, just record it using IDE. Upload command is working

Comments

-3

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

1 Comment

Question is quite specific, while answer is pointing to hello world example for selenium in java. Down voting it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.