delphi中WebBrowser控件怎么模拟点击网页框架中的按钮button?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi中WebBrowser控件怎么模拟点击网页框架中的按钮button?相关的知识,希望对你有一定的参考价值。

delphi中WebBrowser控件怎么模拟点击网页框架中的按钮button?

参考技术A 假如按钮Name或ID是 button1

var
o:Olevariant;

o := WebBrowser1.OleObject.document.all.item('button1',0);
o.click;
参考技术B 可以网页中添加javascript函数然后在webbrowers中调用 参考技术C 一句话搞定:

webbrowser1.oleobject.document.frames.item(框架的序号).document.getElementById('Button的ID').click;本回答被提问者采纳
参考技术D 按键精灵 第5个回答  2014-03-03 没弄过,只在c#下做过~,估计应该差不多

c# webBrowser1 模拟点击超链接后,如何获取连接页面的信息(ajax ),需要不弹出窗口

我现在有一个form1和一个form2,webBrowser1放在form1里,程序模拟点击后是弹出新窗口form1,如果设置跳出的新窗口放在form2里,那么会出现错误“/”应用程序中的服务器错误。 网站是asp.net开发的的,支持ajax ,post方式。这个如何解决,我只想获取超链接后页面的内容。

参考技术A public AxSHDocVw.AxWebBrowser _axWebBrowser;
public class HE_WebBrowserTag

//注意,每一个WebBrowser控件都有一个tag,我定义成一个简单的class,它用来包含一些该控件相关的独有信息。请看:
public int _TabIndex = 0;
public bool _CanBack = false;
public bool _CanForward = false;


private void axWebBrowser1_NewWindow2(object sender, AxSHDocVw.DWebBrowserEvents2_NewWindow2Event e)

_axWebBrowser = CreateNewWebBrowser();
e.ppDisp = _axWebBrowser.Application;



private AxSHDocVw.AxWebBrowser CreateNewWebBrowser()

AxSHDocVw.AxWebBrowser _axWebBrowser = new AxSHDocVw.AxWebBrowser();
_axWebBrowser.Tag = new HE_WebBrowserTag();
TabPage _TabPage = new TabPage();
_TabPage.Controls.Add(_axWebBrowser);
_axWebBrowser.Dock = DockStyle.Fill;

//_axWebBrowser.DocumentComplete += new AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEventHandler(this.axWebBrowser1_DocumentComplete);
tabControl1.TabPages.Add(_TabPage); tabControl1.SelectedTab = _TabPage;
return _axWebBrowser;
参考技术B 捕获webBrowser控件的NewWindow事件和Nativageting2事件就可以处理掉了追问

这个试过了,会出现错误。

追答

看微软的文档,直接拖出来的肯定报错,
MSDN关于WebBrowser控件的文档很详细的描述,

参考技术C 不好搞,因为winform不是一个浏览器,所以即使你点击弹出新的窗口,有可能数据都带不过去,想别的解决方案把追问

就是想不到其他办法了,现在停在这一步了

追答

如果你想自己做一个浏览器的话,那WinForm的WebBrowser不适合你,弹出新的窗口没办法保留原来窗口的信息

追问

那用什么控件或者用什么办法可以实现,我只是想获取页面的信息,但是一般的通过地址获取会出错,所以只有模拟点击提交

追答

模拟点击也不一定要弹出窗口吧,弹出的窗口跟之前的窗口有关联么

追问

获取的数据需要提交到第一个窗口,如果不弹出窗口,那么如何实现,请教下

追答

post提交应该是提交到服务器,跟提交到哪个窗口有什麼关系

本回答被提问者和网友采纳

以上是关于delphi中WebBrowser控件怎么模拟点击网页框架中的按钮button?的主要内容,如果未能解决你的问题,请参考以下文章

VB模拟鼠标点击webbrowser控件网页

DELPHI如何实现打开某一个网页没webbrowser组件

delphi webbrowser,如何调整webbrowser里面打开网页的大小,或者使打开的内容适应webbrowser控件的大小。

delphi webbrowser 问题

DELPHI中的webbrowser如何有效防止内存疏漏

delphi 怎么判断webbrowser打开网页成功?