首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用CppWebBrowser和C++Builder触发网页搜索框

如何使用CppWebBrowser和C++Builder触发网页搜索框
EN

Stack Overflow用户
提问于 2018-02-06 00:19:09
回答 1查看 142关注 0票数 0

我正在使用C++Builder XE4-pro与VCL 32位平台。我使用名为CppWebBrowser的组件加载JPL网页。我在下面添加了一张网页的图片。下面的代码是我加载网页的按钮事件。使用该网页的方法是在搜索框中手动输入小行星名称并按enter键。它运行一个加载小行星详细信息的脚本。我需要用代码运行搜索框。一个小行星的样本名是爱神星。是否有任何方式来激活这个搜索框的厄洛斯使用代码?

代码语言:javascript
复制
void __fastcall TForm1::Button1Click(TObject *Sender)
{
UnicodeString Full;
Full = "https://ssd.jpl.nasa.gov/sbdb.cgi#top";
CppWebBrowser1->Navigate( Full.c_str() );
}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-06 23:10:38

页面完全加载(触发OnDocumentComplete事件)之后,您可以使用浏览器自己的DOM接口查找和填充搜索框,然后提交其包含的表单。

首先查询Document属性以获得IHTMLDocument2接口,然后从那里开始。

IHTMLDocument2有一个forms集合,可以用来枚举页面上的<form>元素,使用IHTMLDocument3::item()方法枚举每个表单的<input>元素,直到找到所需搜索框的<input>元素为止。或者,您可以查询Document中的IHTMLDocument3,并使用其getElementById()GetElementsByName()方法直接查找所需的搜索框。

找到搜索元素后,可以查询它是否为IHTMLInputElement,将其 属性设置为所需的任何文本,然后调用其包含formsubmit()方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48633599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档