用CEF4Delphi取网页元素时碰到ElementInnerText里含有" "

比如网页源码里是"内容 "取出来显示就变成"内容?"

搜索大部分是说把" "替换成其它字符即可

但实际操作怎么也替换不了,就算变量为AnsiString也不行

最后用了以下方法解决

参考网页:

https://blog.csdn.net/qq_29683707/article/details/80860904

关于&nbsp空格转成正常空格‘ ’的方法

1>先把字符串转码 let data = encodeURI(要转化的值)

2>接下来替换掉&nbsp空格 data = data .replace(/%C2%A0/g,'%20');
 3>再转回来就ok了 data = decodeURI(data);

要用到encodeURI,找到Delphi版的

http://www.delphitop.com/html/zifuchuan/2599.html

方法1
user  Httpapp;

HttpEncode(AnsiToUtf8('中文'));

方法2
uses
  IdURI;

..
begin
  S := TIdURI.URLEncode(str);
//
  S := TIdURI.URLDecode(str);
end;

使用方法2的TIdURI.URLEncode,程序出错,原因不明

使用方法1成功

直接 TmpTitle:= HTTPEncode(TmpTitle); 即可

但编译器提示警告

[dcc32 Warning] uMiniBrowser.pas(469): W1000 Symbol 'HTTPEncode' is deprecated: 'Use TNetEncoding.URL.Encode'
[dcc32 Warning] uMiniBrowser.pas(471): W1000 Symbol 'HTTPDecode' is deprecated: 'Use TNetEncoding.URL.Decode'
[dcc32 Hint] uMiniBrowser.pas(469): H2443 Inline function 'HTTPEncode' has not been expanded because unit 'System.NetEncoding' is not specified in USES list
[dcc32 Hint] uMiniBrowser.pas(471): H2443 Inline function 'HTTPDecode' has not been expanded because unit 'System.NetEncoding' is not specified in USES list

意思是HTTPEncode和HTTPDecode已经弃用请用TNetEncoding.URL.Encode和TNetEncoding.URL.Decode

点进HTTPEncode看看

function HTTPDecode(const AStr: string): string;
beginResult := TNetEncoding.URL.Decode(AStr);
end;function HTTPEncode(const AStr: string): string;
beginResult := TNetEncoding.URL.Encode(AStr);
end;

其实就直接调用了

TNetEncoding.URL.Encode

所在单元是 System.NetEncoding

转载于:https://www.cnblogs.com/samvon/p/10086475.html

Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到nbsp;变问号?的处理相关推荐

  1. delphi cef写入html,Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到nbsp;变问号?的处理...

    用CEF4Delphi取网页元素时碰到ElementInnerText里含有" " 比如网页源码里是"内容 "取出来显示就变成"内容?" 搜 ...

  2. delphi XE 10实现App和PC下TreeView调用ImageList和Sqlite数据

    delphi XE 10实现App和PC下TreeView调用ImageList和Sqlite数据 一.工程 program TreeView; usesSystem.StartUpCopy,FMX. ...

  3. Delphi XE 10.4 FMX ListView 一个不易察觉的 BUG

    Delphi XE 10.4 FMX ListView 一个不易察觉的 BUG 在使用 ListView DynamicAppearance 时发现非常强大,可以加很多东西,但没有发现复选框(哪位大佬 ...

  4. delphi xe 10.3 firemonkey stringdrig 插入,删除,添加

    以下是在WIN7 64 ,delphi xe 10.3 以下成功运行: 运行界面: 代码 unit Unit1; interface uses   System.SysUtils, System.Ty ...

  5. Delphi XE 10 跨平台三层数据库应用教程

    Delphi XE 10 跨平台三层数据库应用教程 Delphi XE 开始越来越庞大,比经典的Delphi7难用,但依然是目前所有跨平台开发工具中开发效率最高.最容易上手的,其快速设计RAD理念是无 ...

  6. delphi xe 10.3 用FastReport打印预览当前记录

    以下在WINDOWS10  + DELPHI XE 10.3   FireDAC +SQL SERVER 2008   下通过: 第一步,创建如下表单: 第二步  拖入以下几个控件: frxDBDat ...

  7. Delphi XE 10 跨平台三层数据库笔记

    Delphi XE 开始越来越庞大,比经典的Delphi7难用,但依然是目前所有跨平台开发工具中开发效率最高.最容易上手的,其快速设计RAD理念是无与伦比的符合人性. 目前网上XE10类似教程很少,而 ...

  8. DELPHI XE 10.3开发安卓APP的经过

    首先要感谢CSDN和各位上传东西上CSDN的朋友,我原来有900多分的,为上下载相关的东西,花掉了400多分. 本来想安装XE10.4的,无奈PJ不了,XE10.4前两天在一台WIN7 64位上成功安 ...

  9. 易语言获取html源码,易语言穿透所有框架取网页元素源码

    yuanma 找视频-穿透10纵个框架 无模块,.版本 2 .子程序 网页关键字查找, 整数型 .参数 网页对象, 对象 .参数 关键字, 文本型 .局部变量 oDocument, 对象, , , 网 ...

最新文章

  1. Dialog 带白色的边的处理方法
  2. [Java] 02 String的常用方法
  3. DNS区域主从复制。。
  4. sqli-labs第一关(MySql基础)
  5. [云炬创业基础笔记] 第四章测试9
  6. ios不行安卓可以 微信签名_王者荣耀安卓、iOS互通来了!现在可以互看好友资料...
  7. oracle几个网络,ORACLE网络的几个重点概念
  8. 这篇带你熟悉 SpringBoot+RabbitMQ 方式收发消息
  9. 全网首发:LINUX编译JNA:编译产生jna.jar
  10. installshield2020打包教程
  11. 架构之美:教你如何分析一个接口?
  12. mysql有rollup函数吗_MySQL-with rollup函数运用
  13. unity识别图片颜色并把颜色数量排序
  14. sql语句中左连接查询的使用
  15. 2022低压电工考试题及答案
  16. 查SCI索引号和EI索引号的方法
  17. 2020考研数学一考研大纲原文
  18. 基于asp.net738房屋租赁管理系统
  19. 亚马逊云主机linux密钥登陆改为密码登陆
  20. Java程序员-日常工作技能清单

热门文章

  1. .NET Core 使用 nlog 进行日志记录
  2. 在Ubuntu/Fedora/CentOS中安装Gitblit
  3. 如何利用WebScarab绕过JS验证
  4. 触屏设备手势简历研究
  5. linux服务之drbd
  6. 数据导入HBase最常用的三种方式及实践分析
  7. jQuery实例——展示表格点击变色、全选、删除
  8. 列出本机正在监控的端口
  9. hadoop大数据平台架构之DKhadoop详解
  10. 自动化部署之gitlab备份和恢复