求教关于delphi调用百度

popogens 2012-03-30 07:57:03
我的需求是这样的:
一、delphi调用百度进行搜索。
二、返回搜索结果(十个也好,二十个也好,全部也好,您只要帮我实现)
不胜感激!
...全文
385 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
虎子8 2014-05-23
  • 打赏
  • 举报
回复
WebBrowser1.Navigate('www.baidu.com'); WebBrowser1.OleObject.document 会JS吧,先去看HTML 页面每一个元素都可获取,可以操作。很简单
一如当初 2014-05-21
  • 打赏
  • 举报
回复
delphi板块越来越水了,整天都是这些玩意儿。。。
hypapa 2014-05-21
  • 打赏
  • 举报
回复
学习 谢谢分享
cdchq 2012-04-12
  • 打赏
  • 举报
回复
100分太少了
NTSCPAL 2012-04-12
  • 打赏
  • 举报
回复
第一个要求不难。第二个要求,不知道要返回怎么样的结果?纯链接还是百度搜索显示的那个样子的结果?
一剑飘雪 2012-03-30
  • 打赏
  • 举报
回复
楼主这个应该是调用百度去执行搜索。模拟点击是把?

前几天看了bdmh版主的博客里面说的 ,希望对楼主有用。



procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
Document: IHTMLDocument2;
Element: IHTMLElement;
Anchors: IHTMLElementCollection;
sLink: string;
begin
//查找网易新闻页面链接
sLink := 'http://news.163.com/';
Document := Webbrowser1.Document as IHTMLDocument2;
if Assigned(Document) then
begin
Anchors := Document.Get_links;
//遍历所有链接
for i := 0 to Anchors.length - 1 do
begin
Element := Anchors.item(i, varempty) as IHTMLElement;
//找到指定链接
if Assigned(Element) and (UpperCase((Element as IHTMLAnchorElement).href) = UpperCase(sLink)) then
begin
//执行点击
Element.Click;
Break;
end;
end;
end;
end;


当然这这是执行点击的代码。你还要执行往输入框写文字的。 你自己好好补充啊
if Succeeded(Dispatch.QueryInterface(IHTMLInputElement,HTMLInputElement)) then
begin
With HTMLInputElement do//单行文本
begin
if UpperCase(Type_)='TEXT' then//判断输入框类型;
begin
if trim(basedata.SysInfo.strWebadvKeyWord)<>'' then
begin
if (Name=copy(trim(basedata.SysInfo.strWebadvKeyWord),1,pos(',',trim(basedata.SysInfo.strWebadvKeyWord))-1))
or(Name=copy(trim(basedata.SysInfo.strWebadvKeyWord),pos(',',trim(basedata.SysInfo.strWebadvKeyWord))+1)) then
begin
Value:=strkeyword;
exit;
end;
end;
end;
end;
end
我看见佛 2012-03-30
  • 打赏
  • 举报
回复
用WebBrowser,如:
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('www.baidu.com');
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧