Ich versuche den WebDriver zu verwenden, um durch eine https-Site zu navigieren und eine Datei mit WebDriver herunterzuladen. Wenn ich es so gemacht habe, ist der Datei-Download-Dialog aufgetaucht.Laden Sie eine Datei über HTTP in WebDriver herunter
WebDriver driver = new ChromeDriver();
driver.get("http://xxx/file1.txt");
Ich frage mich, ist es eine Möglichkeit, ein Verfahren in WebDriver rufen Sie einfach die Datei mit regelmäßigen https anfordern herunterzuladen, ohne den Klick zu simulieren?
Vielen Dank im Voraus.
Danke, aber ich muss sich zuerst anmelden und dann auf die Download-Seite erhalten Sie die URL und kriechen. Treffer direkt auf die URL funktionieren aufgrund des Autorisierungsprozesses nicht. – zsong
Um Sokratic für einen Moment zu bekommen, wie lädt der Browser die Datei nur mit HTTP? In vielen Fällen setzt der Authentifizierungsprozess ein Cookie mit Authentifizierungsinformationen, die dann in den Headern der HTTP-Anfrage übergeben werden. Glücklicherweise ermöglichen Ihnen HTTP-Clientbibliotheken normalerweise ein gewisses Maß an Kontrolle über die HTTP-Anforderungsheader, sodass Sie nur die Cookie-Informationen benötigen. Ich werde meine Antwort bearbeiten, um das Problem zu beheben, das in der ursprünglichen Frage nicht erwähnt wurde. – JimEvans
Ich bin gespannt auf den Abschlag auf diese Antwort. Es ist technisch nicht falsch. Sein Ton ist nicht entzündlich. Es ist vielleicht nicht das, was Sie hören möchten, aber es mindert nicht die Nützlichkeit oder Korrektheit der Antwort. Wenn die Downvoter Kommentare abgeben würden, wo sie die Mängel in der Antwort finden, könnte sie verbessert werden. Ein einfaches Downvoting ohne weitere Rückmeldungen ist weder für den Beantworter noch für die, die danach kommen, hilfreich, um eine Antwort auf dieselbe oder eine ähnliche Frage zu finden. – JimEvans