Buntu Linux
Buntu Linux

Reputation: 502

Local Chrome extension to set file of input type="file"

I'am developing an Extension for Chrome browser. I wan't to choose a file from a input type="file" html element using the extension. But I know this is not possible due to security restrictions.

Is there a way to remove the security restrictions of Chrome related to this issue so that this will be possible.

Thanks.

Upvotes: 8

Views: 3860

Answers (3)

Buntu Linux
Buntu Linux

Reputation: 502

Ok i'm going to answer my own question.

First of all thank Michael Dibbets and wtjones for your answers. --disable-web-security and --allow-file-access-from-files did not work. I did not go for native plugins and for extending chrome from its source as it seems to take time.

The solution:

I used chromedriver with selenium java to automate chrome.

and with the help of Slanec's Answer to this question i was able select the file pragmatically.

Here's the java code:

System.setProperty("webdriver.chrome.driver", "C:/.../chromedriver.exe");

WebDriver driver = new ChromeDriver();
driver.get("URL_OF_THE_PAGE");
WebElement link = driver.findElement(By.linkText("TEXT_IN_THE_LINK"));
link.click();
WebElement choose_file_input = driver.findElement(By.className("CLASS_OF_THE_INPUT"));
choose_file_input.sendKeys("PATH_TO_FILE");

Thanks!

Upvotes: 5

wtjones
wtjones

Reputation: 4160

Is this an extension for personal use only? If so, you may be able to use --disable-web-security and --allow-file-access-from-files. Otherwise you might need to use a native plugin: https://code.google.com/p/firebreath/

Upvotes: 1

Tschallacka
Tschallacka

Reputation: 28712

Download the chromium source code and compile your own browser.

The security restrictions are there for a purpose and can't be cirumvented(not easily anyways) The purpose is that an user can download an extension from the google play store and not having to be bothered about the risk that extention poses to their system.

Upvotes: 0

Related Questions