我正在开发Chrome浏览器扩展程序。
我不想使用扩展名从input type="file"
html元素中选择一个文件。
但我知道由于安全限制,这是不可能的。
是否有办法删除与此问题相关的Chrome 的安全限制,以便可以实现此目的。
感谢。
答案 0 :(得分:4)
好的,我将回答我自己的问题。
首先感谢Michael Dibbets和wtjones的答案。
--disable-web-security and --allow-file-access-from-files
没有用。
我没有去寻找原生插件,也没有从源头扩展chrome,因为它似乎需要时间。
我使用chromedriver和selenium java来自动化Chrome。
并且在Slanec's Answer to this question的帮助下,我能够以实际方式选择文件。
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商店下载扩展程序,而不必担心扩展会给系统带来的风险。