使用XPath选择包含文本的节点,而不考虑CasperJS中的空白
Select node with text using XPath regardless of whitespace in CasperJS
我正在使用CasperJS,希望单击一个具有特定浮点值的表元素,但前面有一些空白,我不知道有多少。
例如:
<td class="narrow value ng-binding"><i class="fa" ng-class="{...}"></i> 1,45</td>
我试着通过以下方式瞄准这个元素:
this.click(x('//*[text()="1,45"]'));
但我得到了:
无法在不存在的选择器上分派单击事件:XPath表达式:'//*[text()="1,45"]'
有人能指出如何在开始时忽略空白,或者为什么这不起作用吗?
使用normalize-space()
"忽略"字符串开头和结尾的空白:
//*[normalize-space(text())="1,45"]
或者在目标文本节点可能不是其父元素中的第一个子文本节点的情况下使用以下形式:
//*[text()[normalize-space(.)="1,45"]]
来自MDN:
normalize-space
函数从字符串中去除前导和尾随空格,用单个空格替换空白字符序列,并返回结果字符串。
相关文章:
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 在BoilerplateJS浏览器加载所有脚本(在其他模块中),而不考虑激活的模块
- JS toLocaleString始终显示货币符号,而不考虑区域设置
- 在呈现网页时复制网页,而不考虑参考底图的来源
- 如何使用 javascript 获取 UTC 格式的日期,而不考虑当前系统日期
- 转换 JSON 日期,不考虑时区
- 使用XPath选择包含文本的节点,而不考虑CasperJS中的空白
- 使用简单的角度滤波器来替换输入字符串中某些字符串的所有出现,而不考虑大小写和空格
- 角度高图表和ng网格标题不考虑帧宽度
- jQuery/JavaScript代码如何将表导出为CSV文件而不考虑表's大小.看看@jsfiddle链接
- 捕获给定类型的所有事件,而不考虑气泡/目标
- 选项卡分组和选项卡着色:如何将此功能应用于从我的网页打开的选项卡,而不考虑浏览器
- CSS不透明度转换;在动画过程中不考虑覆盖不透明度
- 如何增加光滑块高度,而不考虑其内容
- 正则表达式不考虑 .在JavaScript中进行模式测试时
- $browser.notifyWhenNoOutoutstanding Requests不考虑控制器功能
- getAttribute('href') 始终返回“#”,而不考虑移动浏览器上的实际 href 属性
- Javascript 获取当前日期,而不考虑时区
- 如何找到日和月之间的天数差异,而不考虑年份
- Mocha在运行CasperJS测试时不考虑超时或回调