在您的示例的前三个元素的转换中,我没有找到一致的模式。如果我认为第二个元素是准确的,那么您可以使用以下 JavaScript 方法生成选择器:String.split()
、Array.splice()
和Array.indexOf()
Array.join()
您可以获取一个字符串模式 ( '-0-1-'
),之后您将插入增量字符串部分 ( '1-'
)。注意: Array.splice()
是一种就地数组方法,它直接应用于原始数组。
示例(迭代 8 次):
let sel ='select-fieldName-0-1-0'
for (let i = 0; i < 8; i++) {
const selArr = sel.split('')
selArr.splice(sel.indexOf('-0-1-') + '-0-1-'.length, 0, '1-')
sel = selArr.join('')
console.log(sel)
}
输出:
select-fieldName-0-1-1-0
select-fieldName-0-1-1-1-0
select-fieldName-0-1-1-1-1-0
select-fieldName-0-1-1-1-1-1-0
select-fieldName-0-1-1-1-1-1-1-0
select-fieldName-0-1-1-1-1-1-1-1-0
select-fieldName-0-1-1-1-1-1-1-1-1-0
select-fieldName-0-1-1-1-1-1-1-1-1-1-0
所以如果你在你的主剧本中,那么你可以使用for
循环与上面的选择器模式的元素进行交互:
for (...)
...
await page.click(sel)
}
将剧作家动作放置在正确的位置,例如,如果按照我的示例,应该在 for 循环开始之前单击第一次迭代。