Пытаюсь получить изображение blob из URL-адреса, используя селен и JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Пытаюсь получить изображение blob из URL-адреса, используя селен и Java

Сообщение Anonymous »

Я пытаюсь загрузить изображение с веб-страницы. URL-адрес большого двоичного объекта выглядит следующим образом: blob:https://example.com/43bdcaf9-7d30-4b80- ... 411533b960
Изображение можно загрузить и преобразовать в текст в формате Base64, если я использую JavaScript, например ниже (в браузере Chrome и запуск кода как расширения браузера):

Код: Выделить всё

async function blobToBase64(blobUrl) {
console.log(blobUrl);
const response = await fetch(blobUrl);
const blob = await response.blob();
const arrayBuffer = await blob.arrayBuffer();
const base64String = btoa(String.fromCharCode(...new Uint8Array(arrayBuffer)));
return base64String;
}
Мне нужно сделать то же самое на Java с использованием драйвера Selenium Chrome, но я не могу этого добиться. Я попробовал код ниже:

Код: Выделить всё

                    String blob = "";
if (driver instanceof JavascriptExecutor) {
blob = ((JavascriptExecutor) driver).executeScript("const response = await fetch('" + baseUrl
+ "');" + "const blob = await response.blob();"
+ "const arrayBuffer = await blob.arrayBuffer();"
+ "const base64String = btoa(String.fromCharCode(...new Uint8Array(arrayBuffer)));"
+ "return base64String;").toString();

System.out.println(blob);
}
но мне не удалось получить ошибку URL.
Пожалуйста, помогите получить изображение и преобразовать его в строку base64

Код: Выделить всё

org.openqa.selenium.JavascriptException: javascript error: Failed to fetch
(Session info: chrome=130.0.6723.91)
Build info: version: '4.18.1', revision: 'b1d3319b48'
System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '23'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/791 ... m-and-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»