我尝试使用CSS Selector链中的代码中的数据元素来获取路由号码,但我不知道为什么我无法接收文本(路由号码)使用CSS Selector链获取以下代码:
<table class="rich-table home table" id="startForm:PendingReviewApps" border="0" cellpadding="0" cellspacing="0"><colgroup span="0"></colgroup><thead class="rich-table-thead"><tr class="rich-table-header "><th class="rich-table-headercell " scope="colgroup">Accounts Being Reviewed</th></tr></thead><tbody id="startForm:PendingReviewApps:tb"><tr class="rich-table-row rich-table-firstrow "><td class="rich-table-cell " id="startForm:PendingReviewApps:0:ProductSummaryForDepositApplicationId" style="width:80%"><span id="startForm:PendingReviewApps:0:ProductLabelForDepositAppId" style="font-size:14pt;">Easy Checking</span>
<br />
<p style="padding-left: 20px"><span id="startForm:PendingReviewApps:0:routingNumberSpan">
Routing number:<span id="startForm:PendingReviewApps:0:RountingNumberForDepositAppId" style="font-weight:bold;"> 121100782</span>
<br /></span><span id="startForm:PendingReviewApps:0:intFundingAmtSpan">
Initial funding amount: $<span id="startForm:PendingReviewApps:0:InitialFundingAmountForDepositAppId" style="font-weight:bold;">100.00</span>
<br /></span>
</p></td></tr></tbody></table>
我尝试过所有类型的组合,但我使用的工具(Adobe DTM)没有返回文本值(路由号码)?附件是我在开发中看到的CSS Selector链结果。 Chrome的控制台,但没有运气使用!我尝试过以下方法:
span#startForm:PendingReviewApps:0:RountingNumberForDepositAppId
p #startForm:PendingReviewApps:0:RountingNumberForDepositAppId
但没有运气?
答案 0 :(得分:2)
两个选项:
(单人)逃离冒号
span#startForm\:PendingReviewApps\:0\:RountingNumberForDepositAppId
最终DTM进行document.querySelector()
调用,将您的值作为参数传递。
在这种情况下,即使冒号:
是有效的id字符,它也会在css语法中标记pseudo-class,因此您必须将其转义。
同时,document.querySelector()
接受字符串参数,反斜杠是字符串的特殊字符,因此您必须转义转义(整体\\:
)。
但是,DTM会自动转义反斜杠,因此您只应在数据元素字段中将其转义一次,并且最终评估的值将是双转义\\:
使用属性语法
span[id="startForm:PendingReviewApps:0:RountingNumberForDepositAppId"]
这是使用Attribute syntax的备用选择器。除了你不必担心逃离冒号之外,这与第一种方法没有实际的好处。