2012-05-23 76 views

回答

4

這並不容易,而且出於很好的理由 - 安全性並不容易。如果您能夠上傳這樣的內容,那麼阻止某人使用相同方法上傳您的詳細信息的是什麼?

你也給了我們沒有例子有如此工作:

鑑於此範例網頁:

<html> 
<head> 
<style type="text/css"> 
.fileSave { color: red; } 
</style> 
</head> 
<label for="fileUpload">File location: 
<input type="file" id="fileUpload" /> 
<br> 
<br> 
<a href="" class="fileSave">Save file</a> 
</body> 
</html> 

我能做到這一點,在C#:

Driver = new ChromeDriver(); 
var fileUploadControl = Driver.FindElement(By.Id("fileUpload")); 
fileUploadControl.SendKeys("C:\File.txt"); 
var submitLink = Driver.FindElement(By.ClassName("fileSave")); 
submitLink.Click(); 
+0

「如果你能夠上傳這樣的內容,什麼阻止某人使用相同的方法上傳你的詳細信息?」在一定程度上,CAPTCHA將會。 – fixxxer

3

這一直問several times,也在一些Selenium常見問題。

硒2(的webdriver)Java示例:

// assuming driver is a healthy WebDriver instance 
WebElement fileInput = driver.findElement(By.xpath("//input[@type='file']")); 
fileInput.sendKeys("C:/path/to/file.jpg"); 

硒RC,見this question

這個想法是直接將文件的絕對路徑發送到您通常會點擊以獲取模式窗口的元素 - 即<input type='file' />元素。

相關問題