Я разработчик javascript/java, и я пытался выяснить, как система автоматизации selenium webdriver загружает файлы из файловой системы. Невозможно установить входной файл через javascript, потому что это нарушение безопасности. Однако как-то webdriver может сделать это с помощью следующей команды:
driver.setFileDetector(new LocalFileDetector());
WebElement upload = driver.findElement(By.id("myfile"));
upload.sendKeys("/Users/sso/the/local/path/to/darkbulb.jpg");
driver.findElement(By.id("submit")).click();
Значит, они устанавливают значение, отправляя ему ключи? Я не понимаю. Я просмотрел исходный код, найденный здесь: http://code.google.com/p/selenium/source/checkout Я все еще не могу найти, где они это делают.
Изменить: Мой вопрос заключается не в том, как это сделать с селеном, но как это сделали разработчики селена? Как они обошли ограничения безопасности в javascript? Как они загружают файл?