xpath内容中含有引号的处理方法
来源:互联网 发布:淘宝图盾在哪里设置 编辑:程序博客网 时间:2024/06/05 14:36
当xpath中的内容只含有单引号或只含有双引号时,处理都是比较简单的
例:
只含有单引号的处理:
title内容为:a'a
slenium.isElementPresent("//tr/td[@title=\"a'a\"]");
只含有双引号的处理:
title内容为:a"a
slenium.isElementPresent("//tr/td[@title='a\"a']");
即用单引号包含双引号,双引号包含单引号,另外如果有多层时,注意使用\"的方式转义;
如果内容同时包含单引号及双引号时,处理的方式同只有单引号或只有双引号相似;
但注意使用xpath中的函数concat进行连接;
例:
title内容为:'"(即一个单引号,一个双引号)
slenium.isElementPresent("//tr/td[@title=concat(\"'\",'\"')]");
重点是:concat(\"'\",'\"'),因为外层还有一个双引号嵌套,所以concat中的双引号要使用\"
简单看为:concat(" ' ",' " ')……这样看应该比较容易理解点:)
当属性内容比较多时
例:
title内容为:aa'aa"aa
slenium.isElementPresent("//tr/td[@title=concat(\"aa'\",'aa\"aa')]");
也可以用:
slenium.isElementPresent("//tr/td[@title=concat('aa',\"'\",'aa','\"','aa')]");
灵活应用哦。。。
http://hi.baidu.com/ligq/blog/item/9195d03f6c0200c57d1e71df.html
这篇文章中有一个函数对xpath中的单引号、双引号进行处理
{
queryStr = queryStr.replace("\"", "[\"]");
queryStr = queryStr.replace("'", "',\"'\",'");
queryStr = queryStr.replace("[\"]", "','\"','");
queryStr = "concat('" + queryStr + "')";
return queryStr;
}
之前使用replaceAll,未使用replace,所以替换后的结果不正确;
因为replaceAll函数的第一个参数是正则表达式,即中括号会被当成正则中的特殊字符处理(解决该方法,可用"\\["代替"[",中括号的后一半"]"没有影响)
当然也可以用别的特殊符号代替中括号,中括号主要起到分隔符的作用;
另:曾尝试使用"代替双引号,'代替单引号,虽然xpath不会报语法错误,但并不能找到相匹配的element,似乎xpath不能对"及'等进行转义;
concat()是目前找到的唯一能处理单引号、双引号同时存在的方法;
如果有其它更好的办法,麻烦各位告知哦。。。
- xpath内容中含有引号的处理方法
- XmlNode.SelectSingleNode中含有引号的处理方法
- xpath中匹配text()中是否含有制定内容的方法
- Ant中引号("")的处理
- iOS 评论中含有表情的处理方法
- JSON解析的内容中含有table标签怎么处理以及自定义标签的处理
- C#QuotedStr方法实现,引号的处理
- bat中如何处理参数的引号
- UltraEdit中删除含有/不含有特定内容的行
- IText 生成rtf 内容中含有HTML标签处理
- matlab之定义含有引号的字符串
- XSL中,当XPATH和数据中的引号遇到冲突时的解决办法。
- 在含有Request.QueryString页面中处理未能获得参数的错误处理方法
- xpath匹配属性中含有某值
- Android开发中执行方法中含有监听时的处理
- 插入和更新数据库时字符串中含有转义字符的处理方法
- 地址中含有汉字等其他字符时 的处理方法
- spring容器创建bean时对属性中含有日期的处理方法
- 安卓系统各版本市场份额
- Intel Threading BuildingBlocks(Intel TBB)介绍
- HDU 1575 Tr A (矩阵快速幂)
- Nginx(2):工作机制
- Envir
- xpath内容中含有引号的处理方法
- 宽带离网用户分析(5) Lasso和Group Lasso
- 端口转发
- Android编译过程详解(二)
- ios面试题
- sql,javascript,php中字符串与变量的连接符
- linux 环境变量设置方法总结(PATH/LD_LIBRARY_PATH)
- list删除null
- (C/C++学习笔记)临时对象深入理解