Local Chrome extension to set file of input type=“file”

那年仲夏 提交于 2019-12-29 07:50:09

问题


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.


回答1:


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!




回答2:


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/




回答3:


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.



来源:https://stackoverflow.com/questions/15249185/local-chrome-extension-to-set-file-of-input-type-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!