C# ChromiumWebBrowser Get Image (Captcha) - PullRequest
0 голосов
/ 26 февраля 2020

Я разрабатываю приложение для браузера с C#. Я использую CefSharp (ChromiumBrowser) в качестве браузера. Это приложение автоматически регистрируется на определенном веб-сайте.

На сайте есть капча. Мне нужно вытащить эту капчу в поле картинки. Я понятия не имею об этом.

Я пробовал функцию execCommand('copy') с JavaScript, но потерпел неудачу, потому что createControlRange(), который находится в обычном веб-браузере, не находится в Chrome.

Ссылка исправлена, новая капча появляется каждый раз, когда она обновляется. Так что мне придется снимать капчу в текущем изображении.

Я делал это успешно со стандартным (IE) веб-браузер. (C# DOM)

dynamic body = webBrowser1.Document.Body.DomElement;
dynamic controlRange = body.createControlRange();
dynamic element = webBrowser1.Document.GetElementById("guvenlik_kod").DomElement;
controlRange.add(element);
controlRange.execCommand("Copy", false, null); //copy with command.
pictureBox1.Image = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap); //transfers the image on the clipboard.

Вызов JavaScript кода в браузере Chromium происходит именно так. Я не знаю, как получить возврат.

Task<JavascriptResponse> response = browser.EvaluateScriptAsync(js_code);

Ссылка для установки: Telerik ChromiumWebBrowser Справочный центр

Captcha

Здесь есть некоторая информация в виде документа. CefSharp Wiki

Я жду вашей помощи.

Извините, что мой Engli sh плохой.

...