我是一個javascript/java開發人員,我一直在試圖弄清楚selenium webdriver自動化框架如何從文件系統上傳文件。通過JavaScript設置文件輸入是不可能的,因爲這是違反安全的。但不知怎麼的webdriver可以用下面的命令來做到這一點:selenium 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中的安全限制的?他們如何上傳文件?
我的第一個猜測是,該按鈕元素有一個「價值」的微博,增加的SendKeys字符的價值? – djangofan