zoukankan
html css js c++ java
获取WebBrowser中的指定图片
/**/
///
<summary>
///
获取WebBrowser指定的图片
///
</summary>
///
<param name="webBrowser">
需要获取图片的WebBrowser
</param>
///
<param name="imgID">
指定的图片的id(优先查找指定id)
</param>
///
<param name="imgSrc">
指定的图片的src,支持模糊查询
</param>
///
<param name="imgAlt">
指定的图片的src, 支持模糊查询
</param>
///
<returns></returns>
public
static
Image GetRegCodePic(
ref
WebBrowser webBrowser, String imgID, String imgSrc, String imgAlt)
{
HTMLDocument doc
=
(HTMLDocument)webBrowser.Document.DomDocument;
HTMLBody body
=
(HTMLBody)doc.body;
IHTMLControlRange rang
=
(IHTMLControlRange)body.createControlRange();
IHTMLControlElement img;
//
如果没有图片的ID,通过Src或Alt中的关键字来取
if
(imgID.Length
==
0
)
{
Int32 ImgNum
=
GetPicIndex(
ref
webBrowser,
ref
imgSrc,
ref
imgAlt);
if
(ImgNum
==
-
1
)
return
null
;
img
=
(IHTMLControlElement)webBrowser.Document.Images[ImgNum].DomElement;
}
else
img
=
(IHTMLControlElement)webBrowser.Document.All[imgID].DomElement;
rang.add(img);
rang.execCommand(
"
Copy
"
,
false
,
null
);
Image regImg
=
Clipboard.GetImage();
Clipboard.Clear();
return
regImg;
}
/**/
///
<summary>
///
获取WebBrowser指定图片的索引
///
</summary>
///
<param name="webBrowser">
指定的WebBrowser
</param>
///
<param name="imgSrc">
指定的图片src,支持模糊查询
</param>
///
<param name="imgAlt">
指定的图片alt,支持模糊查询
</param>
///
<returns></returns>
public
static
Int32 GetPicIndex(
ref
WebBrowser webBrowser,
ref
String imgSrc,
ref
String imgAlt)
{
IHTMLImgElement img;
//
获取所有的Image元素
for
(Int32 i
=
0
; i
<
webBrowser.Document.Images.Count; i
++
)
{
img
=
(IHTMLImgElement)webBrowser.Document.Images[i].DomElement;
if
(imgAlt.Length
==
0
)
{
if
(img.src.IndexOf(imgSrc)
>=
0
)
return
i;
}
else
{
if
(imgSrc.Length
==
0
)
{
//
当imgSrc为空时,只匹配imgAlt
if
(img.alt.IndexOf(imgAlt)
>=
0
)
return
i;
}
else
{
//
当imgSrc不为空时,匹配imgAlt和imgSrc任意一个
if
(img.alt.IndexOf(imgAlt)
>=
0
||
img.src.IndexOf(imgSrc)
>=
0
)
return
i;
}
}
}
return
-
1
;
}
查看全文
相关阅读:
web性能优化
5、Git:使用码云(Gitee)
4、Git:文件操作
3、Git:基本理论 和 项目搭建
2、Git:环境配置
1、Git:版本控制 和 Git历史
18、各种锁的理解(非公平锁和公平锁、可重入锁、自旋锁、死锁)
17、原子引用(乐观锁)
16、深入理解CAS(重点)
15、彻底玩转单例模式
原文地址:https://www.cnblogs.com/linmilove/p/1591661.html
最新文章
1.新手建站教程系列之基础知识
NameBeta
IDM的“免费版”NDM免费的下载工具
给咱的WP站点搬家
雨云CDN
idea配置tomcat
获取服务器时间
springboot的pom.xml添加依赖时报错
springboot创建项目
maven的配置文件setting
热门文章
查看是否安装JDK
8080端口被占用
康奈尔笔记学习法
费曼学习法
JavaScript 工具库(函数式编程) lodash
ChartJS(提供可视化的类型)
前端常用js插件
h5文本复制
深入了解浏览器存储:对比Cookie、LocalStorage、sessionStorage与IndexedDB(转)
彻底弄懂HTTP缓存机制及原理
Copyright © 2011-2022 走看看