Upload file with Selenium in Python

前端 未结 6 1068
我在风中等你
我在风中等你 2021-01-14 19:14

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

相关标签:
6条回答
  • 2021-01-14 19:44
    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...

    0 讨论(0)
  • 2021-01-14 19:45

    It can be done via:

    element = driver.find_element_by_name("file")
    element.send_keys("/home/pavel/Desktop/949IH3GNHAo.jpg")
    
    0 讨论(0)
  • 2021-01-14 19:53

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

    0 讨论(0)
  • 2021-01-14 19:55

    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')
    
    0 讨论(0)
  • it is quite simple, just record it using IDE. Upload command is working

    0 讨论(0)
  • 2021-01-14 20:03

    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

    0 讨论(0)
提交回复
热议问题