本地Chrome扩展程序设置输入类型=“文件”的文件

时间:2013-03-06 13:54:28

标签: javascript file-upload google-chrome-extension file-io

我正在开发Chrome浏览器扩展程序。 我不想使用扩展名从input type="file" html元素中选择一个文件。 但我知道由于安全限制,这是不可能的。

是否有办法删除与此问题相关的Chrome 的安全限制,以便可以实现此目的。

感谢。

3 个答案:

答案 0 :(得分:4)

好的,我将回答我自己的问题。

首先感谢Michael Dibbets和wtjones的答案。 --disable-web-security and --allow-file-access-from-files没有用。 我没有去寻找原生插件,也没有从源头扩展chrome,因为它似乎需要时间。

解决方案:

我使用chromedriverselenium java来自动化Chrome。

并且在Slanec's Answer to this question的帮助下,我能够以实际方式选择文件。

这是java代码:

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");

谢谢!

答案 1 :(得分:1)

这是仅供个人使用的扩展吗?如果是这样,您可以使用--disable-web-security和--allow-file-access-from-files。否则,您可能需要使用本机插件:https://code.google.com/p/firebreath/

答案 2 :(得分:0)

下载铬源代码并编译自己的浏览器。

安全限制是出于某种目的而无法停止(不管怎么说都不容易) 目的是用户可以从Google Play商店下载扩展程序,而不必担心扩展会给系统带来的风险。