如何在 CasperJS 中点击具有特定字符串长度的元素?
How click over an element with specific string length, in CasperJS?
我使用 CasperJS,我想点击具有特定长度字符串的元素 (span)。例如,我想要点击长度为 5 个字符的跨度。
<span>ABCDE</span>
有什么办法吗?
如果您想根据内容长度点击一个元素,有多种方法可以实现。 XPath 提供了使用 string-length(string)
函数执行此操作的最简单方法。
如果元素的文本节点之一具有特定长度y
:
casper.click(x("//span[string-length(text())=" + y + "]"));
如果所有的内容都需要一定的大小(相当于之前建议除了一个文本节点之外没有其他节点):
casper.click(x("//span[string-length(.)=" + y + "]"));
如果空格是个问题,那么您应该删除它:
casper.click(x("//span[string-length(normalize-space(text()))=" + y + "]"));
casper.click(x("//span[string-length(normalize-space(.))=" + y + "]"));
XPath 助手通过 var x = require('casper').selectXPath;
提供。
我使用 CasperJS,我想点击具有特定长度字符串的元素 (span)。例如,我想要点击长度为 5 个字符的跨度。
<span>ABCDE</span>
有什么办法吗?
如果您想根据内容长度点击一个元素,有多种方法可以实现。 XPath 提供了使用 string-length(string)
函数执行此操作的最简单方法。
如果元素的文本节点之一具有特定长度
y
:casper.click(x("//span[string-length(text())=" + y + "]"));
如果所有的内容都需要一定的大小(相当于之前建议除了一个文本节点之外没有其他节点):
casper.click(x("//span[string-length(.)=" + y + "]"));
如果空格是个问题,那么您应该删除它:
casper.click(x("//span[string-length(normalize-space(text()))=" + y + "]")); casper.click(x("//span[string-length(normalize-space(.))=" + y + "]"));
XPath 助手通过 var x = require('casper').selectXPath;
提供。