我是一个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