3
driver.find_element(By.XPATH, "//*[@id='upl-zone']/input").send_keys("https://ercess.com//images//events//-Blockchain-2019-36613-banner.png")

Is there any way to make that work ?

[ERROR] selenium.common.exceptions.InvalidArgumentException: Message: File not found: https://ercess.com//images//events//-Blockchain-2019-36613-banner.png

2
  • When i type url in windows explorer when uploading manually it works Commented Feb 13, 2019 at 13:10
  • I have deleted my answer.Any specific reason to do that. driver.get(url) also work right. Commented Feb 13, 2019 at 13:40

1 Answer 1

2

You first need to download the image to your computer and then upload it...

You can use requests:

import requests

URL = "https://ercess.com//images//events//-Blockchain-2019-36613-banner.png"
picture_req = requests.get(URL)
if picture_req.status_code == 200:
    with open("/path/to/image.jpg", 'wb') as f:
        f.write(picture_req.content)

Then send the /path/to/image.jpg:

driver.find_element(By.XPATH, "//*[@id='upl-zone']/input").send_keys("/path/to/image.jpg")

Or you can use the Legacy interface of urllib you will use urlretrieve:

import urllib.request

URL = "https://ercess.com//images//events//-Blockchain-2019-36613-banner.png"
urllib.urlretrieve(URL, "file_name.png")
driver.find_element(By.XPATH, "//*[@id='upl-zone']/input").send_keys("file_name.png")

EDIT:

To send the path to the file with send_keys you can use pathlib

from pathlib import Path

# `cwd`: current directory is straightforward
cwd = Path.cwd()
# using "F"string for format you can use: image_file_name = str(cwd) + "\" + "file_name.png" 
image_file_name = fr"{cwd}\file_name.png"
# this print is just to show the image_file_name   
print(image_file_name)

Hope this helps you!

Sign up to request clarification or add additional context in comments.

7 Comments

it shows me error: Message: File not found: file_name.png
what are you using? urllib or requests?
i am using urlib.urlretrieve @Moshe
The file is downloaded in the directory from where i am running but when i am trying to upload it tells me the error above @Moshe
@Nitish I am not by a computer... But see this: stackoverflow.com/a/918178/8179099
|

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.