Ich habe ein einfaches Online-Snippet, um auf eine Schaltfläche "Datei laden" auf einer sichtbaren Seite zu klicken, um ein Dialogfeld aufzurufen (z. B. um ein Bild zu laden).Chrome-Konsole: Snippet-Befehl kann den Dialog nicht öffnen
this.document.getElementsByName("image")[0].click() // snippet code
Während manuelle Paste und diese Zeile in der Konsole laufen erfolgreich ist (es öffnet sich der Dialog), das obige Snippet kann das nicht tun. Es scheint, als würde Chrome das Öffnen eines Dialogs nicht durch einen Benutzeranruf erlauben. Also stelle ich den Browser so ein, dass alle Popups erlaubt sind, aber es gibt kein Ergebnis.
Getestet auf verschiedenen Seiten, wo Datei laden Schaltfläche angezeigt wird.
Danke für irgendwelche Ideen.
A similar but different issue, solved
Vielen Dank für Ihre Hilfe! Leider war in meinem Fall nichts erfolgreich. Ich habe das auf verschiedenen Rechnern (Win 7 und 10, neueste Chrome Version) ausprobiert. Ich habe den Kontext überprüft, die ID in unique "myID123" geändert, das Präfix "this" geändert. Alles funktioniert direkt durch manuelles Einfügen des Strings .click() in der Konsole, aber nichts davon funktioniert, indem man im Snippet läuft. Ich habe auch Ihr Skript mit einem Bild überprüft. Dies funktioniert sowohl von der Konsole als auch vom Snippet aus. Der Befehl .click() ruft einen Dateiladedialog auf. Kann etwas mit Beschränkungen nicht stimmen? –
Können Sie mich mit der Seite verlinken, mit der Sie testen? –
Dies ist zunächst meine Website CMS-Seite. Aber natürlich könnten wir jede Seite verwenden, auf der eine Datei geladen werden soll, indem Sie auf die Schaltfläche klicken, um den Standardladedialog aufzurufen. Ich werde zum Beispiel Google Bilder versuchen. –