Javascript Casper:获取错误无法在不存在的选择器上调度mousedown事件

Javascript Casper:获取错误无法在不存在的选择器上调度mousedown事件,javascript,casperjs,Javascript,Casperjs,正在尝试使用以下代码单击链接。我在考试中出错了 代码此链接。单击('/login')帮助我解决此问题,以便能够单击此链接 我被打动了 我得到的输出是: FAIL Cannot dispatch mousedown event on nonexistent selector: /login # type: uncaughtError # file: loki1.js:1355 这是我的密码: casper.test.begin('Signin to loki',1,function(

正在尝试使用以下代码单击链接。我在考试中出错了 代码
此链接。单击('/login')
帮助我解决此问题,以便能够单击此链接 我被打动了

我得到的输出是:

FAIL Cannot dispatch mousedown event on nonexistent selector: /login
#    type: uncaughtError
#    file: loki1.js:1355
这是我的密码:

casper.test.begin('Signin to loki',1,function(test){


     casper.start('http://localhost:3000');

     casper.evaluate(function() {
       __utils__.echo("Hello World!");
  });

casper.wait(100,function(){
    casper.echo("Debuging");
    casper.echo("this:"+this);
    casper.echo("Done");



    if (this.exists('headerwrap')) {

    casper.echo('the heading exists');
}
this.click('/login');  ////This is not working

    this.fill('#loginForm', {
        'login' : 'Divya',
        'password' : '********'

}, false);
这是html

单击a
href=/login

<div class="navbar-collapse collapse" id="main-navbar-collapse">
    <ul class="nav navbar-nav navbar-right">
        <li>
             <a href="/login" data-toggle="tooltip" data-placement="bottom" data-original-title="Login">Sign In</a>
        </li>
    </ul>
</div>


我相信有多种方法可以做到这一点。您可以使用jQuery单击它,您可以获取href,然后使用该href打开页面,或者您需要更改单击中的值

jQuery.click()和.prop() 要使用jQuery单击,可以执行以下操作:

casper.evaluate(function(){
     jQuery('.nav.navbar-nav.navbar-right li a').click()
});
您还可以从html中获取href,如下所示:

var link = casper.evaluate(function(){
    return jQuery('.nav.navbar-nav.navbar-right li a').prop('href');
});
这将返回'/login',您可以使用它执行
casper.thenOpen((您的url)+链接)

casper.click()
我认为您需要在this中使用不同的值;我相信你需要这样的
this.click(“#主导航栏折叠>ul>li>a”)其中一些可能需要根据您在其他地方的html进行更改,但这应该有助于为您指明正确的方向。

我相信有多种方法可以做到这一点。您可以使用jQuery单击它,您可以获取href,然后使用该href打开页面,或者您需要更改单击中的值

jQuery.click()和.prop() 要使用jQuery单击,可以执行以下操作:

casper.evaluate(function(){
     jQuery('.nav.navbar-nav.navbar-right li a').click()
});
您还可以从html中获取href,如下所示:

var link = casper.evaluate(function(){
    return jQuery('.nav.navbar-nav.navbar-right li a').prop('href');
});
这将返回'/login',您可以使用它执行
casper.thenOpen((您的url)+链接)

casper.click()
我认为您需要在this中使用不同的值;我相信你需要这样的
this.click(“#主导航栏折叠>ul>li>a”)其中一些内容可能需要根据您在其他地方使用的html进行更改,但这应该有助于为您指明正确的方向。

请帮助我,我还发现在登录页面中查找表单元素时存在问题。登录请帮助我,我还发现在登录页面中查找表单元素时存在问题。谢谢你的签名,我还有一件事要填表格,我正试着这样填表格。这不起作用。fill('form###loginForm',{'redirect':'/model','login':'dnanjund','password':'Praveen11!','},true);使用您的Cisco帐户登录记住我登录看起来您可能需要使用“this.sendKeys('selector',“String your want input”);”功能。谢谢你,这很有效,而且我还有一件事要填表格,我正试着这样填表格。这不起作用。fill('form###loginForm',{'redirect':'/model','login':'dnanjund','password':'Praveen11!','},true);使用您的Cisco帐户登录记住我登录看起来您可能需要使用“this.sendKeys('selector',“String your want input”);”功能。