DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: jeff1314
今日帖子: 10
在线用户: 11
导航: 论坛 -> Web应用开发 斑竹:bodies  
作者:
男 net1999 (好人) ★☆☆☆☆ -
普通会员
2017/11/8 17:58:41
标题:
求助:怎么找到并更新webbrowser中网页里<span > 中class是某个名字的值 ? 浏览:1229
加入我的收藏
楼主: 就是把网页里:
<span class="headBrand" style="line-height:50px;font-weight:lighter">OFFICE Online</span>

OFFICE Online的值为 MY NAME?

我写的代码如下,直接合局改,影响了网页的自动刷机制,网页不再自动更新内容了。

procedure Tfrmmain.cmdmodiweb_info;
var
  doc, frm: IHTMLDocument2;
  iw: IWebbrowser2;
  i: Integer;
  S: string;
begin
  doc := WebBrowser1.Document as IHTMLDocument2;
  for i := 0 to doc.frames.Length - 1 do
  begin
    iw := GetFrame(i);
    frm := iw.Document as IHTMLDocument2;

    // 直接找 class 名是:headBrand 的值 。可能更好。待加。

    S := frm.body.outerHTML;      
    if S.Contains('OFFICE Online') then
    begin
      S := S.Replace('OFFICE Online', 'MY NAME');
      frm.body.outerHTML := S;
    end;
  end;
end;
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2017/11/8 18:11:12
1楼: WebBrowser1.EvaluateJavaScript('document.getElementById("kw").value="' +
        Edit1.Text.Trim + '";');

不知道会不会出现一样的问题。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 bahamut8348 (leonna) ★☆☆☆☆ -
普通会员
2017/11/9 8:55:56
2楼: 直接写个js不就完了么?
何必要用原生代码去写?
----------------------------------------------
--
作者:
男 net1999 (好人) ★☆☆☆☆ -
普通会员
2017/11/9 10:42:27
3楼: 网页是云上下来的,js是不能进当前网页的,请问写哪实现?我再写的含js的html,把目标URL嵌套进去吗?或者有其它办法?
----------------------------------------------
-
作者:
男 bahamut8348 (leonna) ★☆☆☆☆ -
普通会员
2017/11/9 12:30:42
4楼: 云上下来的???

看来兰州不懂js的原理,无论从云上下来的还是从山上下来的,js都是运行在本地的。
都可以通过browser注入一段js代码来执行。
----------------------------------------------
--
作者:
男 yangweng (yangweng) ★☆☆☆☆ -
普通会员
2017/11/9 12:43:19
5楼: HtmlElementCollection hec = webBrowser1.Document.GetElementsByTagName("div");
foreach (HtmlElement he in hec)
{
    if (he.Style="abc")
    {
       tbox1.Text = he.OuterText;
       break;
    }
}
----------------------------------------------
-
作者:
男 net1999 (好人) ★☆☆☆☆ -
普通会员
2017/11/10 13:56:29
6楼: 楼上的注入思路是怎么样的?注入到网页的哪个位置呢?代码没看明白。
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行935.5469毫秒 RSS