Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 996
Buntu Linux Avatar asked Mar 06 '13 13:03

Buntu Linux


2 Answers

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!

like image 113
Buntu Linux Avatar answered Oct 01 '22 13:10

Buntu Linux


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/

like image 31
wtjones Avatar answered Oct 01 '22 13:10

wtjones