7

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

有没有办法消除与此问题相关的 Chrome 的安全限制,以便实现这一点。

谢谢。

4

3 回答 3

5

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

首先感谢 Michael Dibbets 和 wtjones 的回答。 --disable-web-security and --allow-file-access-from-files不工作。我没有选择原生插件和从源代码扩展 chrome,因为这似乎需要时间。

解决方案:

我使用chromedriverselenium java来自动化 chrome。

在Slanec 对这个问题的回答的帮助下,我能够务实地选择文件。

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

谢谢!

于 2013-03-07T05:56:38.743 回答
1

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

于 2013-03-06T14:01:11.070 回答
0

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

安全限制是有目的的,不能被规避(无论如何都不容易) 目的是用户可以从 google play 商店下载扩展,而不必担心扩展对他们的系统造成的风险。

于 2013-03-06T13:57:38.003 回答