如何在 TIDHttp (indy) delphi 上执行 javascript 函数?

How to execute a javascript function on TIDHttp (indy) delphi?

我有一个 TIDHttp (Indy) 组件,检索一个网站,从那里我得到 html 文本进行解析,并将收集的数据显示为 delphi 形式。

代码运行良好,但当找到超过 10 条记录时,网站会显示 link 到 Next() javascript 函数,加载接下来的 10 条记录,依此类推。

我可以用 TIDHttp 做些什么来执行 next() 函数吗?

我用来检索 html 文本的代码如下:

procedure TForm1.ObtemStringsCorreio(aParamEntrada:string; var aRetorno:TStringList);
var
    _ParamList : TStringList;
begin
    _ParamList := TStringList.Create;

    _ParamList.Add('cepEntrada=' + aParamEntrada);
    _ParamList.Add('tipoCep=ALL');
    _ParamList.Add('cepTemp=');
    _ParamList.Add('metodo=buscarCep');

    try
        aRetorno.Text := idhtp1.Post(cEngineCorreios, _ParamList);
        mmo1.Lines.Clear;
        mmo1.Text :=  aRetorno.Text;
    finally
        _ParamList.Free;
    end;
end;

Indy 是一个通信库。它没有任何客户端脚本执行方式。您将需要为此使用另一个库。

无头浏览器将是理想的解决方案。更重量级的解决方案是以隐藏形式嵌入浏览器,并让它完成工作。为此,您可以使用 TWebBrowser、Chromium 等。