Как я могу добраться, исходный код пролистывают WebBrowser-управление (ActiveX InternetExplorer)?

Вот, пожалуйста, без манипуляций со строками:

const str = '

Header

Paragraph

' const div = document.createElement('div'); div.innerHTML = str; const [h, p] = [...div.children].map(el=>el.textContent); console.log(h, p);

Или даже чище, используя эксперимент ] DOMParser API:

const doc = new DOMParser().parseFromString('

Header

Paragraph

', 'text/html'); const [h, p] = [...doc.body.children].map(el=>el.textContent); console.log(h, p);

6
задан JasonMArcher 12 July 2015 в 23:47
поделиться

6 ответов

В событии DocumentCompleted посмотрите на DocumentText свойство управления WebBrowser. Это должно иметь полный текст загруженной страницы.

1
ответ дан 17 December 2019 в 00:14
поделиться
IHTMLDocument2(Web.Document).Body.InnerHTML;

Это должно возвратить источник страницы.

1
ответ дан 17 December 2019 в 00:14
поделиться

Я думал, что это будет легко, но кажется, что об этом, возможно, забыли. Можно легко сделать это с управлением TidHTTP все же.

MyPage := IdHTTP1.Get('www.google.com');

Я знаю не, что Вы хотите, но могли бы помочь.

1
ответ дан 17 December 2019 в 00:14
поделиться

Другой метод, который работает хорошо, должен использовать Синапс. Используйте вызов синапса HttpGet для получения начального ресурса (который дает Вам исходный код), затем управляют по мере необходимости.

Другая опция состояла бы в том, чтобы использовать компонент EmbeddedWB, который выставляет Намного больше свойств и функций веб-браузера, чем стандартный компонент Delphi делает и все еще соответствует Вашему требованию выполнения его в веб-браузере.

1
ответ дан 17 December 2019 в 00:14
поделиться

Чтобы получить доступ ко всему HTML страницы через элемент управления WebBrowser, используйте:

Web.Document.All[0].OutterHtml;
1
ответ дан 17 December 2019 в 00:14
поделиться
private void btnTest_Click(object sender, EventArgs e)
        {
            wbMain.Navigate("foo.xml");
            wbMain.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(testing);
        }

        private void testing(Object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            test = wbMain.DocumentText;
        }

Я знаю, что это немного поздно, но у меня это работает. wbMain - это объект WebBrowser.

1
ответ дан 17 December 2019 в 00:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: