我正在使用C++Builder XE4-pro与VCL 32位平台。我使用名为CppWebBrowser的组件加载JPL网页。我在下面添加了一张网页的图片。下面的代码是我加载网页的按钮事件。使用该网页的方法是在搜索框中手动输入小行星名称并按enter键。它运行一个加载小行星详细信息的脚本。我需要用代码运行搜索框。一个小行星的样本名是爱神星。是否有任何方式来激活这个搜索框的厄洛斯使用代码?
void __fastcall TForm1::Button1Click(TObject *Sender)
{
UnicodeString Full;
Full = "https://ssd.jpl.nasa.gov/sbdb.cgi#top";
CppWebBrowser1->Navigate( Full.c_str() );
}

发布于 2018-02-06 23:10:38
页面完全加载(触发OnDocumentComplete事件)之后,您可以使用浏览器自己的DOM接口查找和填充搜索框,然后提交其包含的表单。
首先查询Document属性以获得IHTMLDocument2接口,然后从那里开始。
IHTMLDocument2有一个forms集合,可以用来枚举页面上的<form>元素,使用IHTMLDocument3::item()方法枚举每个表单的<input>元素,直到找到所需搜索框的<input>元素为止。或者,您可以查询Document中的IHTMLDocument3,并使用其getElementById()或GetElementsByName()方法直接查找所需的搜索框。
找到搜索元素后,可以查询它是否为IHTMLInputElement,将其 属性设置为所需的任何文本,然后调用其包含form的submit()方法。
https://stackoverflow.com/questions/48633599
复制相似问题