如何点击按钮类web浏览器德尔福 [英] How to click Button Class WebBrowser Delphi

查看:125
本文介绍了如何点击按钮类web浏览器德尔福的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在这个按钮点击TWebBrowser德尔福

 <按钮类=BTN BTN-主要BTN-块类型=按钮的onclick =登录()>登录< /按钮>


解决方案

我没有Delphi编译器现在。在code是用大脑的编译器编写的。但是,应该一般。工作

使用OLEOBJECT

您可以使用 OLEOBJECT 接口访问DOM。

  VAR
  按钮:OleVariant;
  按钮:OleVariant;
  我:整数;
开始
  按键:= WebBrowser1.OleObject.Document.getElementsByTagName(按钮);
  因为我:= 0 Buttons.Length - 1做
  开始
    按钮:= Buttons.item(Ⅰ);
    如果Button.innerText ='登录',那么
    开始
      Button.click();
      打破;
    结束;
  结束;
结束;

运行外部脚本

另一种方法是调用 EXECSCRIPT 接口。这样做的好处是,你可以加载,而不是编译整个项目从外部来源的JavaScript code的一大块​​。

 用途
  MSHTML_TLB,SHDOCVW;程序ExecuteScript;
VAR
  脚本:字符串;
  DocPtr:的IHTMLDocument2;
  WinPtr:IHTMLWindow3;
开始
  脚本:='your_javascript_ code'; //或者从文件中读取  如果支持(WebBrowser1.Document,的IHTMLDocument2,DocPtr)和
     支持(DocPtr.parentWindow,IHTMLWindow3,WinPtr),那么
    WinPtr.execScript(脚本的javascript);
结束;

How to click in this button in TWebBrowser on Delphi

<button class="btn btn-primary btn-block" type="button" onclick="login()">Sign in</button>

解决方案

I do not have a Delphi compiler right now. The code is written using brain compiler. But it should work in general.

Use OleObject

You can use oleobject interface to access the DOM.

var
  Buttons: OleVariant;
  Button: OleVariant;
  I: Integer;
begin
  Buttons := WebBrowser1.OleObject.Document.getElementsByTagName("button");
  for I := 0 to Buttons.Length - 1 do
  begin
    Button := Buttons.item(I);
    if Button.innerText = 'Sign in' then
    begin
      Button.click();
      Break;
    end;
  end;
end;

Run External Script

Another approach is to call execScript interface. The benefit is that you can load a chunk of javascript code from external source, instead of compiling the whole project.

uses
  MSHTML_TLB, SHDocVw;

procedure ExecuteScript;
var
  Script: string;
  DocPtr: IHTMLDocument2;
  WinPtr: IHTMLWindow3;
begin
  Script := 'your_javascript_code'; // Alternatively read from file

  if Supports(WebBrowser1.Document, IHTMLDocument2, DocPtr) and
     Supports(DocPtr.parentWindow, IHTMLWindow3, WinPtr) then
    WinPtr.execScript(Script, 'javascript');
end; 

这篇关于如何点击按钮类web浏览器德尔福的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆