Я разрабатываю приложение для браузера с 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 плохой.