Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到 变问号?的处理

时间:2022-09-25 11:06:24

用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;
begin
Result := TNetEncoding.URL.Decode(AStr);
end; function HTTPEncode(const AStr: string): string;
begin
Result := TNetEncoding.URL.Encode(AStr);
end;

其实就直接调用了

TNetEncoding.URL.Encode

所在单元是 System.NetEncoding

Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到 变问号?的处理的更多相关文章

  1. delphi xe 10.3 利用Git组群开发,Git服务器安装,Git 拉取,提交,推送相关设置操作

    1. Git服务器安装, 参考 https://blog.csdn.net/u012842630/article/details/97175397 Git服务器官方网站,要FQ. 2. 工具软件 gi ...

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

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

  3. Delphi xe 10.3.2-快递接口封装-【快递鸟(即时查询和单号识别)】

    编译环境:Windows 7 +Delphi xe 10.3.2 封装了快递鸟接口,注意的坑:MD5要转为小写. function TKDniaoAPI.StrtoMd5(const str: str ...

  4. 常用加密算法-Delphi XE 10.3.3

    主要用到  DELPHI XE 10.2新增HASH函数 class function TUtils.GetStringMD5(const AInPut: string): string; begin ...

  5. Delphi XE 10 DataSnap TCP 与 HTTP 比较

    在网络程序开发过程中,面临TCP  HTTP 的选择上往往让人陷入犹豫不决中,http的灵活和较强的穿透能力是TCP无法与之相提并论的,然而在响应速度和处理能力上却能看出后者比前者足够强大的地方.因此 ...

  6. Python之抓取网页元素

    import urllib.request from bs4 import BeautifulSoup url = "http://www.wal-martchina.com/walmart ...

  7. [原创] delphi Memo 滚动到底部/开始 [Delphi XE、Delphi 7]

    以前控制Memo滚动到底部的操作: SendMessage(memo1.Handle,WM_VSCROLL,SB_BOTTOM,0); 或者 Memo1.SelLength:=Length(Memo1 ...

  8. [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】

    [python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...

  9. 使用webdriver+urllib爬取网页数据(模拟登陆,过验证码)

    urilib是python的标准库,当我们使用Python爬取网页数据时,往往用的是urllib模块,通过调用urllib模块的urlopen(url)方法返回网页对象,并使用read()方法获得ur ...

随机推荐

  1. mongodb高级应用

    一.  高级查询 查询操作符 条件操作符:db.collection.find({"field":{$gt/$lt/$gte/$lte/$eq/$ne:value}}); 匹配所有 ...

  2. Altium Designer 常用的快捷键

    ctrl+r                      复制并重复黏贴 ctrl+shift+v             只能黏贴 shift+c                    取消选择 sp ...

  3. 搭建自己的ngrok服务(国内直接可用http://qydev.com/#)

    ngrok 服务可以分配给你一个域名让你本地的web项目提供给外网访问, 特别适合向别人展示你本机的web demo 以及调试一些远程的API (比如微信公众号,企业号的开发) ngrok的官方服务可 ...

  4. 解决Maven中OutOfMemory错误

    当Maven项目很大,或者你运行诸如 mvn site 这样的命令的时候,maven运行需要很大的内存,在默认配置下,就可能遇到java的堆溢出.如:   [INFO] Building jar: / ...

  5. 企业信息化快速开发平台JeeSite

    网站:http://jeesite.com/ 可用于企业后台管理

  6. [转]Git介绍

    Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分为两部分, ...

  7. Android studio gradle 打包 那些事

    总结了一下 目前觉得比较好用的gradle 和一些打包 经验.放在这里. 首先说下 渠道号 这个概念,我们经常会统计我们的api 访问来源 是来自于那个app store,这有利于 我们针对性的推广. ...

  8. informatica9.5.1资源库为machine in exclusive mode(REP_51821)

    错误信息: [PCSF_10007]Cannot connect to repository [Rs_RotKang] because [REP_51821]Repository Service is ...

  9. iOS的阴影绘制及性能优化

    今天来讲讲iOS开发过程中的阴影绘制及其潜在的绘图性能问题.虽然在开发过程中,我们使用阴影功能的机会不是很多,但是如果用了,有可能引起如卡顿等性能问题,所以,还是有必要来探究一下阴影的绘制过程,及如何 ...

  10. 【CXF】com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Faul

    在客户端生成代码之后测试出现错误: com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Faul ...