2017-03-31 121 views
1

所以我有一个动态生成的表格,我试图用nightwatch填充一些数据,表格是12 x 7,我只需要填写中间一行从上到下。从逻辑上讲,我已经能够通过一个id甚至一个类选择器尽可能地定位大多数元素,但是这个表格有点棘手。Nightwatch - 使用执行来填充表格数据单元格

该表格不能添加id,也不在语义html中,因为它是通过knockout生成的,具体取决于在上面已经处理的形式中选择的某些值。

页面本质上是一个弹出窗口模式,它阻止了其余的用户界面。 我的思考过程一直是 1.等待元素可见(这可以工作,并且我成功地看到了我正在等待的元素) 2.我使用browser.execute获取td节点的列表。

const elements : NodeListOf<Element> = document.querySelectorAll('td') 
const arr = [].slice.call(elements) //hacky sorry! 
arr.filter // do that here 

基本上我的问题是,使用browser.execute已经很难调试,因为我使用Visual Studio中的调试器,我无法通过此回调出于某种原因确实步骤,以及querySelectorAl仿佛回到我关于阻止的用户界面,我不是想要瞄准的td,而不是我想要的用户界面。

有没有关于这是一个神可怕的方法或可能是一个更简单的方法的任何意见?

回答

0

我基本上最终使用execute来获取nodeList,将它砍成一个数组,根据我想使用的一些东西将它过滤掉。是烦人的,但现在它的半解决