javascript - Phantom.js Webdriver.io错误: SyntaxError: DOM Exception 12

标签 javascript selenium-webdriver phantomjs webdriver-io

我们正在使用 webdriver.io 和 phantom.js 进行一些测试。以下工作正常,给了我一个元素列表:

return client
    .url(config.host)
    .waitForVisible('#myvenuelist', 2000)
    .click('#myvenuelist')
    .elements('li.venue')
    .then(function(venues)
    {
        // Make sure there is at least one device
        // Could do a scan in the before and check the size
        venues.value.length.should.be.at.least(venueList.length);
        done();
    });

但我继续进行下一个测试,它的作用大致相同:

return client
    .url(config.host)
    .waitForVisible('#myvenuelist', 2000)
    .click('#myvenuelist')
    .waitForVisible("li.venue[data-id=" + allVenues[0].venue_id + "]", 5000)
    .click("li.venue[data-id=" + allVenues[0].venue_id + "] a[class='btn primary']")
    .waitForVisible('a[class="tab beacons"]', 2000)
    .click('a[class="tab beacons"]')
    .waitForVisible('a[class="tab beacons active"]', 2000)
    .elements("a[class='add-monitor btn primary']")
    .then(function(deviceList)
    {
        deviceList.value.length.should.be.at.least(1);
        done();
    });

我得到了deviceList对象。如果我检查它,值成员是一个数组,正如预期的那样。但是当我尝试访问该数组时,即使只是将其分配给另一个变量,我也会收到以下错误:

CommandError: Promise was fulfilled but got rejected with the following reason: Error: SyntaxError: DOM Exception 12 

这让我发疯。有关于 DOM Exception 12 错误的报告,但它们似乎不适用于我正在做的事情,其中​​许多都引用了 Phantom.js 的旧版本。我们现在是 1.9.8。

最佳答案

试试这个:

let venueId = allVenues[0].venue_id;

return client
    .url(config.host)
    .waitForVisible('#myvenuelist', 2000)
    .click('#myvenuelist')
    .waitForVisible(`li.venue[data-id={venueId}]`, 5000)
    .click(`li.venue[data-id={venueId}] a.btn.primary`)
    .waitForVisible('a.tab.beacons', 2000)
    .click('a.tab.beacons')
    .waitForVisible('a.tab.beacons.active', 2000)
    .elements("a.add-monitor.btn.primary")
    .then( deviceList => deviceList.value.length.should.be.at.least(1) );

关于javascript - Phantom.js Webdriver.io错误: SyntaxError: DOM Exception 12,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32916906/

相关文章:

javascript - ol3 与 IE11 在 c# webbrowser 控制鼠标单击事件不工作

javascript - 使用 casper 登录 Facebook

javascript - 使用 xpath (或更好的替代方法)选择某个下拉元素

javascript - 如何从 Dropdown 中选择具有 SELECT OPTION 标签的元素?

java - 在场景失败后,如何告诉 cucumber java 停止执行?

c# - 找不到按钮元素C#

php - 在 WIndows Apache 2.4 中安装 casperJS 和 phantomJS 向 PHP 传递数据

javascript - 可缩放旭日与标签问题

javascript - 在 PhantomJS 中截屏移动网站

javascript - PhantomJS 中的假 jQuery 鼠标事件