在Chrome控制台中:

$$('[data-test="template-input--row"]').find(node => node.querySelector('[data-test="template-input--name"]').innerText === 'ATTACH')


正确返回,没有任何错误。

$替换querySelector会引发错误,即使此操作在WebdriverIO中按预期进行也是如此。

$$('[data-test="template-input--row"]').find(node => node.$('[data-test="template-input--name"]').innerText === 'ATTACH')



  未捕获的TypeError:node。$不是函数
      在:1:59
      在Array.find()
      在:1:41


如何使用$使脚本(Chrome控制台)返回节点而不会引发TypeError?

<div class="table__row" data-test="template-input--row"><div class="table__td--double-width table__td" data-test="template-input--name">ATTACH</div>

最佳答案

$不是方法,而是函数。因此,您无法调用node.$()。但是,根据docs$函数接受第二个参数startNode,因此您可以尝试以下操作:

$$('[data-test="template-input--row"]').find(node =>
  $('[data-test="template-input--name"]', node).innerText === 'ATTACH'
)

关于javascript - 在Chrome控制台中使用$代替querySelector,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58897365/

10-09 19:31