Delphi retrieves Ajax webpage content

Source: Internet
Author: User

InProgramThe twebbrowser control or the Indy control is used to connect to a webpage using Ajax technology. The source code of the webpage does not contain any updated content from the client. In the IE browser, you cannot view the source file and the Ajax update content. The updated Ajax content can be seen through the plug-in. The question is how to obtain the complete webpage content in the program?

If Ajax is updated, the webbrowser documentcomplete event will not be triggered.

In fact, the complete web page content is not impossible to obtain. You can use a simple method:

Function gethtml (const webbrowser: twebbrowser): string;
VaR
DOC: ihtmldocument2;
Begin
DOC: = webbrowser. Document as ihtmldocument2;
If assigned (DOC) and assigned (Doc. Body) then
Result: = Doc. Body. outerhtml; // you can also use innerhtml to obtain the HTML text.
End;

In this way, the HTML content contains the content updated by Ajax.

Now the key is that there is no good way to determine whether Ajax has been updated. Because asynchronous updates are used, it is difficult to determine. I searched the internet, and there seems to be a complicated solution abroad, and I have not studied whether it is feasible or not.

I have worked on web content collection software. I don't know if there is any good way to deal with it. Thank you for your advice.

Related Article

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.