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
;
}
查看全文
相关阅读:
BZOJ 1088 模拟(扫雷经验…)
BZOJ 1529
BZOJ 3224
BZOJ 1192
BZOJ 1012
博客搬家说明
BZOJ 2423 DP
BZOJ 1789&1830 推式子 乱搞
BZOJ 1588
拆点:虫洞
原文地址:https://www.cnblogs.com/linmilove/p/1591661.html
最新文章
oracle-存储过程
datax写hdfs
自己生成了分区文件,hive建立LOCATION 后查不出数据
airflow dag 运行 远程调度命令 特如 sshpass
AWS现阶段版本HUE页面存在诸多问题多集中于对hdfs文件的操作
ubuntu中安装Sqlserver客户端
在sqlchemy使用create_engine连接oracle时出现(cx_Oracle.DatabaseError) ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME
ubuntu创建oracle客户端
关于使用docker部署jupyterhub后jovyan(admin)账号的密码
airflow 分布式部署讨论
热门文章
airflow worker 出现 (2006, 'MySQL server has gone away')以及raise AirflowException('Celery command failed')airflow 设置分布式部署主从worker不能协调运行
jquery选择器通配符
Java compareTo() 方法
ssh 命令
BZOJ 1626
BZOJ 4291
BZOJ 1059
BZOJ 4195
BZOJ 1208
BZOJ 4397
Copyright © 2011-2022 走看看