如何使用nightwatch在子框架中定位元素?

时间:2018-04-02 05:55:25

标签: nightwatch.js

例如,我尝试在webtour中找到该元素,请看这样的html:



<frameset>
    <frame name="a"></frame>
    <frame name="b"><input name="login"/></frame>
</frameset>
&#13;
&#13;
&#13;

没有id属性,我尝试使用.frame(0)。frame(1),但它没有工作,有人可以给我一点提示吗?谢谢

1 个答案:

答案 0 :(得分:0)

守夜人

使用.frameParent,您需要将焦点更改为父框架,然后选择要聚焦的框架:

this.testFrames = function (browser) {
  browser
    .frame(0) // first frame
    .frameParent()
    .frame(1) // second frame
    .frameParent()
}

文档:https://nightwatchjs.org/api/frameParent.html

现在,要在第二帧内填充输入字段:

this.testInputFrame = function (browser) {
  browser
    .frame(1) // second frame
    .waitForElementVisible('input[name="login"]')
    .setValue('input[name="login"], 'user123')
    .frameParent()
}