使用xPath提取文本
我在xPath中遇到了一个问题 我这样做:使用xPath提取文本,xpath,Xpath,我在xPath中遇到了一个问题 我这样做: //tbody/tr[td]*[2]/span/@onmouseover 结果: showMsgBox('Monster') showMsgBox('Limber') showMsgBox('Carson') showMsgBox('Maniac') 我需要文本,我可以提取不同的文本吗?。我用的是铬合金刮刀。谢谢大家。所以看起来您的HTML结构如下: <tbody> <tr> <td> &
//tbody/tr[td]*[2]/span/@onmouseover
结果:
showMsgBox('Monster')
showMsgBox('Limber')
showMsgBox('Carson')
showMsgBox('Maniac')
我需要文本,我可以提取不同的文本吗?。我用的是铬合金刮刀。谢谢大家。所以看起来您的HTML结构如下:
<tbody>
<tr>
<td>
<span onmouseover="showMsgBox('Monster')"></span>
</td>
</tr>
</tbody>
返回
showMsgBox('Monster')
如果要从中提取Monster
,则必须使用不同的机制,例如简单的字符串操作或正则表达式
字符串操作
或者如果你不介意魔法常数:
var text = "showMsgBox('Monster')";
text = text.substring(12);
text = text.substring(0, text.length - 2);
或者在使用切片的单个操作中:
text.slice(12, -2)
正则表达式
您也可以使用正则表达式来提取文本,但我不认为这会使这里的情况变得更好
var text = "showMsgBox('Monster')";
new RegExp("showMsgBox\\('(.*)'\\)").exec(text)[1]
或
你需要短信是什么意思?你想把字符串放在括号内吗?如果是这样的话,XPath将无法访问该字符串,需要使用其他方法进行分析/提取。我想你需要对结果进行Regexp匹配以提取“文本”。我想使用regex,创建一个CSV,然后将数据导入php。谢谢大家。
text.slice(12, -2)
var text = "showMsgBox('Monster')";
new RegExp("showMsgBox\\('(.*)'\\)").exec(text)[1]
/showMsgBox\('(.*)'\)/.exec(text)[1]