Cuando inspecciono un sitio web, muestra <input type="file" id="select-image-base" class="file-upload html5-upload-input" accept="image/*">
Quiero cargar un archivo de imagen a este elemento que se encuentra en su sitio web, usando una función de javascript en Edge.
Si escribo esto en la consola en Edge:
document.querySelector('.file-upload').click()Edge simula un clic en el elemento.
También puedo simular el desplazamiento con una línea de código de la consola javascript.
Pero, ¿cómo puedo enviar un archivo a un elemento de carga de archivos?
Básicamente quiero hacer lo mismo con este elemento, pero en lugar de un clic, quiero enviar un archivo de imagen a este cuadro de carga de archivos de arrastrar y soltar, usando una línea de texto javascript en la consola.
No, no puedes. La única forma de establecer el valor de una entrada de archivo es que el usuario seleccione un archivo.
Esto se hace por razones de seguridad. De lo contrario, podría crear un JavaScript que cargue automáticamente un archivo específico desde la computadora del cliente. Solo puede elegir un archivo para cargarlo manualmente.
no, no puedes la forma en que debe hacer es enviar sus medios a través de una API
navegue a: https://www.htmlquick.com/reference/tags/input-file.html
Si usas este código
function getElementByXpath(path) { return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; } var o= getElementByXpath("//section[@id='examples']//input[@name='uploadedfile']") o.value='z:\test.png'entonces obtendrás:
VM4266:7 Uncaught DOMException: Failed to set the 'value' property on 'HTMLInputElement': This input element accepts a filename, which may only be programmatically set to the empty string. at <anonymous>:7:8Esto es normal cuando lo haces desde la web.
Pero si lo intenta con geckodriver.exe, entonces debería ser posible.