Как сделать полный поиск страницы по CefSharp? - PullRequest
0 голосов
/ 20 января 2019

Недавно я использовал функцию Find () для текстового поиска на веб-страницах в браузере CefSharp и реализовал IFindHandler OnFindResult () для получения найденного счетчика текста:

public virtual void OnFindResult( CefRefPtr< CefBrowser > browser, int identifier, int count, const CefRect& selectionRect, int activeMatchOrdinal, bool finalUpdate );

Однако я заметил, что если веб-страница слишком длинная, функция Find () и count из OnFindResult () работают только для первых двух страниц. Эта проблема возникает не только с CefSharp, но и в Google Chrome. Я загрузил пример HTML, он очень длинный и около 5 МБ:

https://www.hihisoft.com/ss.html

Если вы попытаетесь использовать find (), чтобы найти слово типа «sox», это вернет мне только 34 основания. Но фактическое количество слова будет намного больше. Я прикрепил скриншот, вы можете видеть браузер, найденный только на первой и второй страницах, но все красные аннотированные слова не были выделены и найдены.

enter image description here

Есть ли способ выполнить поиск по всей странице с помощью CefSharp? Пусть он возвращает фактический текст / количество слов.

...