uses  ActiveX, ComObj, MSHTML;

根据连接文字点击连接-    一般情况下的连接 

Procedure HTMLClinkByText(text:string;Wbr:TWebBrowser);
var
doc:IHTMLDocument2;
len,I:integer;
item:OleVariant;
all:IHTMLElementCollection;
begin
doc:=Wbr.Document as IHTMLDocument2;
all:=doc.Get_links;
len:=all.length;
for I:=0 to len-1 do
begin
item:=all.item(I,varempty);
if pos (text,item.InnerText)>0 then //判断连接文字包含内容
begin
Wbr.Navigate(item.href);
end;
end;
end; 使用的时候,要点击包含"联系"这两个字的链接 HTMLClinkByText('联系',WebBrowser1); ---------------------------------------------------------------------------------------------- Iframe 里面的连接点击 function GetFrame(FrameNo: Integer): IWebbrowser2;
var
OleContainer: IOleContainer;
enum: IEnumUnknown;
unk: IUnknown;
Fetched: PLongint;
begin
while Webbrowser1.ReadyState <> READYSTATE_COMPLETE do
Application.ProcessMessages;
if Assigned(Webbrowser1.document) then
begin
Fetched := nil;
OleContainer := Webbrowser1.Document as IOleContainer;
OleContainer.EnumObjects(OLECONTF_EMBEDDINGS, Enum);
Enum.Skip(FrameNo);
Enum.Next(1, Unk, Fetched);
Result := Unk as IWebbrowser2;
end
else
Result := nil;
end; procedure TForm1.Button4Click(Sender: TObject);
var
doc,frm:IHTMLDocument2;
iw:IWebbrowser2;
i,j,len: integer;
all:IHTMLElementCollection;
item:OleVariant;
begin
doc:=Webbrowser1.Document as IHTMLDocument2;
for i:=0 to doc.frames.length-1 do
begin
iw:=GetFrame(i);
frm:=iw.Document as IHTMLDocument2;
all:=frm.Get_links;
len:=all.length;
for j:=0 to len-1 do
begin
item:=all.item(j,varempty);
ListBox1.Items.Add(item.InnerText+' ~ '+item.href); //文字和相应的连接 //根据上面那个Pos判断 item.InnerText 里包含你要点击的内容 //然后 Webbrowser1.Navigate(item.href); ................................
end;
end;
end;

  

WebBrowser里网页根据文字判断来点击链接 无Name及ID时的更多相关文章

  1. 如何判断WebBrowser浏览器网页加载完成

    在工作中遇到了这样的问题,那就是要判断WebBrowser浏览器网页是否加载完成,通过搜索发现网友们解决这一问题的几种方法,但都不能解决实际问题,现在我们就来看看网友们是如何解决这一问题的. 一.通过 ...

  2. C# 网络编程之webBrowser获取网页url和下载网页中图片

    该文章主要是通过C#网络编程的webBrowser获取网页中的url并简单的尝试瞎子啊网页中的图片,主要是为以后网络开发的基础学习.其中主要的通过应用程序结合网页知识.正则表达式实现浏览.获取url. ...

  3. 用webBrowser打开网页出现脚本错误怎么办

    当IE浏览器遇到脚本错误时,在浏览器左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框.我们在用webBrowser编写的程序打开网页,遇到脚本有问题是,会弹出一个错误 ...

  4. access数据库:怎么直接从access里把数据里同样的文字替换成空字符&quot;&quot;

    access数据库:怎么直接从access里把数据里同样的文字替换成空字符"" 搜所到文字后,替换的项里写"",就是了.一定要是英文的""

  5. c# webbrowser  获取用户选中文字

    原文:c# webbrowser  获取用户选中文字 最近一直被一个问题困扰,有一个文本框,一个webbrowser控件,一个上下文菜单, webbrowser  获取用户选中文字" tit ...

  6. JS为网页添加文字水印【原创】

    最近需要实现为网页添加水印的功能,由于水印的信息是动态生成的,而百度谷歌上的方法往往都是为网页添加图片水印或为图片添加水印,而为网页添加文字水印相关资料较少,于是就自己动手写了这个代码. 通常加动态水 ...

  7. winform中webBrowser模拟网页操作中遇到的问题

    我们通过网页上传一些特殊数据的时候,由于必填项众多,数量量大的时候,会发现工作相当繁琐,前段时间做了一个winform内嵌webBrowser模拟网页上传文档的小工具,发现了许多问题,总结一下: 先说 ...

  8. JS让网页上文字出现键盘打字的打字效果

    一个挺简单的网页特效:JS让网页上文字出现键盘打字的打字效果实现 演示地址:http://codepen.io/guihailiuli/pen/jPOYMZ 以代码形式实现过程分析: <html ...

  9. Java问题记录——循环里的二次判断与状态更新

    Java问题记录——循环里的二次判断与状态更新 摘要:本文主要记录了在循环操作时可能出现的问题. 问题重现 在使用循环结构时,如果使用了定时任务,或者代码会多次调用循环结构,可能会导致有些对象会被循环 ...

随机推荐

  1. Hive基础之HiveServer2 JDBC的使用

    启动HiveServer2: cd $HIVE_HOME/bin 以后台方式默认端口启动HiveServer2(默认端口是10000):hiveserver2 & 以后台方式指定端口的方式启动 ...

  2. Python面试里面的那些问题

    Q:Python里面的数据结构都有哪些? 答:str,list,tuple,set,frozenset,dict,以上是Python默认的数据结构,还有容器类型collections,其中包含:Cou ...

  3. ELK部署

    一.logstash 版本:2.4.0 要求:Java 7 + 下载:https://download.elastic.co/logstash/logstash/logstash-2.4.0.tar. ...

  4. C语言学习笔记(1):Hello World!

    #include <stdio.h> void main() { printf("Hello World!\n"); } 几乎学习任何语言接触到的第一个语言都是Hell ...

  5. Android开发-API指南-<application>

    <application> 英文原文:http://developer.android.com/guide/topics/manifest/application-element.html ...

  6. 《FPGA全程进阶---实战演练》第二十一章 电源常用类型:LDO和 DCDC

    高速电路中的电源设计 高速电路中的电源设计大概分为两种,一种是集总式架构,一种是分布式架构.集总式架构就是由一个电源输入,然后生成多种所需要的电压.如图1所示.这种架构会增加多个DC/DC模块,这样成 ...

  7. (原创)robotium自学笔记

    按计划6月份之后就要做安卓了,今天抽时间研究了下一款android自动化测试工具rebotium,记录下来备用. 个人感觉还是一个不错的工具. 首先确保已具备android相关环境并且已经创建了安卓模 ...

  8. CODEVS 1001 舒适的路线

    思路:先按照速度大小对边排序,再枚举最终路径中的速度最大值,并查集,更新答案 #include<iostream> #include<vector> #include<a ...

  9. myecplise tomcat jdk

    myeclipse是javaweb初学者或者工程师非常常用的软件.那么在MyEclipse中如何使用自己安装的JDK和tomcat呢.下面是JDK1.7+tomcat7.0+myeclipse10的j ...

  10. Eclipse Egit 安装

    help->Install new software-> 在 work within 中输入以下网址 安装地址: http://download.eclipse.org/egit/upda ...