Tôi là một nhà phát triển javascript/java và tôi đã cố gắng tìm hiểu cách thức khung công tác tự động hóa trình duyệt web selenium tải lên tệp từ hệ thống tệp. Không thể đặt đầu vào tệp qua javascript vì đó là vi phạm bảo mật. Tuy nhiên, bằng cách nào đó, người quản trị web có thể thực hiện việc này bằng lệnh sau:Trình quản trị web selenium tải tệp lên trình duyệt như thế nào?
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();
Vì vậy, họ đang đặt giá trị bằng cách gửi khóa cho nó? Tôi không hiểu. Tôi đã xem xét mã nguồn được tìm thấy tại đây: http://code.google.com/p/selenium/source/checkout Tôi vẫn không thể tìm thấy nơi họ thực hiện việc này.
Chỉnh sửa: Câu hỏi của tôi không phải là cách để làm điều này với selen, nhưng làm thế nào mà các nhà phát triển selen làm cho điều này có thể? Làm thế nào họ có được xung quanh các hạn chế an ninh trong javascript? Làm cách nào để họ tải lên tệp?
đoán đầu tiên của tôi là các yếu tố nút có 'giá trị' với nó, và SendKeys thêm ký tự với giá trị? – djangofan