7

Chrome ブラウザーの拡張機能を開発しています。input type="file"拡張子を使用して html 要素からファイルを選択したくありません。しかし、セキュリティ上の制限により、これが不可能であることはわかっています。

これが可能になるように、この問題に関連するChrome のセキュリティ制限を削除する方法はありますか?

ありがとう。

4

3 に答える 3

5

わかりました私は自分の質問に答えるつもりです。

まず、Michael Dibbets と wtjones の回答に感謝します。 --disable-web-security and --allow-file-access-from-files動作しませんでした。時間がかかるように見えるので、ネイティブプラグインとそのソースからのクロムの拡張には行きませんでした。

ソリューション:

クロムを自動化するために、セレンJavaでchromedriverを使用しました。

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

ありがとう!

于 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 に答える