Webdriverio: 使用给定的搜索参数无法在页面上定位元素。

创建于 2017-04-14  ·  3评论  ·  资料来源: webdriverio/webdriverio

问题

我正在使用 webdriverio mocha
我不能点击一个元素。
我总是遇到同样的错误

使用给定的搜索参数无法在页面上定位元素。

环境

细节

链接到 Selenium/WebdriverIO 日志

创建一个gist ,它是你的 _full_ Selenium/WebdriverIO 日志的粘贴,并将它们链接到这里。 不要_不要_在此处粘贴完整的 Appium 日志,因为这会使此问题变得非常冗长且难以阅读! 如果您要报告错误,_总是_ 包括 Selenium/WebdriverIO 日志!

重现问题的代码 [ 值得拥有 ]

这是我的测试

describe ('FAFSA', function () {
    beforeEach(function() {
        browser.url('/');
    })
        it ('should look good', function () {
            browser.click("//*[@id='start']");
            browser.click("//*[@id='inner-content']/section/div/div/div[1]/div/a");



        });
    });

这是页面上的元素

<div id="inner-content" ng-view="" class="right-panel ng-scope"><section class="page-block select-type ng-scope" ng-show="ready"><div class="select-type__wrapper"><div class="row"><div class="col-sm-6"><!-- ngIf: device === 'phone' --><!-- ngIf: device !== 'phone' --><div ng-if="device !== 'phone'" class="block ng-scope"><a ng-activate="" ng-click="startApplication('?json=true')" class="btn btn-answer first ng-scope ng-click-active"></div><!-- end ngIf: device !== 'phone' --></div><div class="col-sm-6"><!-- ngIf: device === 'phone' --><!-- ngIf: device !== 'phone' --><div ng-if="device !== 'phone'" class="block second ng-scope"><a ng-activate="" ng-click="startApplication('?parent-user=true&amp;json=true')" class="btn btn-answer ng-scope ng-click-active"></div><!-- end ngIf: device !== 'phone' --></div></div></div></section></div>

所有3条评论

您的选择器没有找到元素。 请使用不同的选择器或尝试调试页面以确保您位于预期的页面上。

也加入我们Gitter对于这类问题。 这不是一个必要的问题。

我也有同样的问题

module.exports = function() {

this.Given(/^我访问过bct-test.ucdavis.edu$/, function () {
browser.url('https://bct-test.ucdavis.edu/bct_nation/home.seam');
});
this.When(/^我点击 Browse Trials$/, function () {
browser.click('#HomeBrowseButton');
});
this.Then(/^I see All Trials$/, function () {
browser.screenshot('BrowseTrialsMetastaticLink.png');
});

this.When(/^I search All Trials for "([^"] )" or "([^"] )"$/, function (SearchTerm1, SearchTerm2) {
// 在这里写代码,把上面的短语变成具体的动作
browser.setValue('input[Search_Query_Term1="R"]', SearchTerm1);
browser.setValue('input[Search_Query_Term2="O"]', SearchTerm2);
browser.click(['searchGo']);
});

this.Then(/^I see All Trials for "Reproductive" and "Online"$/, function () {
var my_expected_text='试验包含';
var my_displayed_text = document.getElementsByClassName('ContentHeaderText');
期望(my_displayed_text)。toBe(my_expected_text);
});
}

错误信息:
[黑猩猩] 奔跑...
功能:搜索所有试验

As a breast canceer patient
I want to search the All Trials on the web
So I can find information

场景:搜索生殖或在线
✔ 鉴于我访问过 bct-test.ucdavis.edu
✖ 当我在所有试验中搜索“生殖”或“在线”时

  • 然后我看到“生殖”和“在线”的所有试验

失败:

1) 场景:搜索生殖或在线 - features/searchalltrials。 特点:7
步骤:当我在所有试验中搜索“生殖”或“在线”时 - features/searchalltrials。 特点:9
步骤定义: features/support/searchalltrials.js:13
信息:
错误:无法使用给定的搜索参数(“input[Search_Query_Term1="R"]”)在页面上定位元素。
在世界。(功能/支持/searchalltrials.js:15:13)
在 _combinedTickCallback (internal/process/next_tick.js:73:7)
在 process._tickDomainCallback (internal/process/next_tick.js:128:9)

1 个场景(1 个失败)
3 步(1 次失败,1 次跳过,1 次通过)
0m02.189s

此页面是否有帮助?
0 / 5 - 0 等级