gpt4 book ai didi

javascript - 如何在delphi中执行javascript?

转载 作者:数据小太阳 更新时间:2023-10-29 04:37:47 27 4
gpt4 key购买 nike

我正在编写一个小应用程序,中间突然发现我必须执行 javascript 才能获取我的数据?

在我的过程中,我必须登录到某个 url,然后转到某个页面并从中获取数据。我用 indy idhttp 完成了所有这些,我得到了所有信息,除了一列需要 javascript 来获取值,然后我尝试使用 twebbowser 让它为我工作,但是我如何使用 cookies 来启用 webbrowser?

我将浏览器导航到('http://mysite.com/login.php 用户并通过'),然后登录,然后我尝试访问下一个链接('http://mysite.com/link1/example.php')但它指向登录页面:(

感谢任何帮助:)

最佳答案

你现在的问题是什么?在标题中,您询问如何执行 JavaScript。尝试以下操作:

uses
MSHTML_TLB, SHDocVw, ShellAPI;

function ExecuteScript(doc: IHTMLDocument2; script: string; language: string): Boolean;
var
win: IHTMLWindow2;
Olelanguage: Olevariant;
begin
if doc <> nil then
begin
try
win := doc.parentWindow;
if win <> nil then
begin
try
Olelanguage := language;
win.ExecScript(script, Olelanguage);
finally
win := nil;
end;
end;
finally
doc := nil;
end;
end;
end;

示例用法:

IDoc: IHTMLDocument2;
Webbrowser1.Document.QueryInterface(IHTMLDocument2, iDoc);
ExecuteScript(iDoc, 'document.login.submit()', 'JavaScript');

(这个,以及更多,可以在 here 中找到)。


然后在文本中询问如何使用 cookies(当使用 TWebBrowser 时这应该会自动发生)。使用 Indy HTTP 时,您只需将 TIdCookieManager 附加到您的 TIdHTTPClient 实例,仅此而已(但您可能不想使用它,因为脚本要求....)

关于javascript - 如何在delphi中执行javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2530394/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com