Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript casperJS css选择器:waitFor函数始终超时_Javascript_Css Selectors_Casperjs - Fatal编程技术网

Javascript casperJS css选择器:waitFor函数始终超时

Javascript casperJS css选择器:waitFor函数始终超时,javascript,css-selectors,casperjs,Javascript,Css Selectors,Casperjs,我正在编写一个自动登录测试,并希望断言我已成功登录到该页面,然后拍摄该页面的屏幕截图 我尝试访问的DOM如下所示: <div class="form-group hidden-xs"> <ul class="nav navbar-nav navbar-left logged-menu"> <strong class="pull-left"><font><font>Welcome,</font></font>

我正在编写一个自动登录测试,并希望断言我已成功登录到该页面,然后拍摄该页面的屏幕截图

我尝试访问的DOM如下所示:

<div class="form-group hidden-xs">
    <ul class="nav navbar-nav navbar-left logged-menu"> <strong class="pull-left"><font><font>Welcome,</font></font> </strong> 
        <li>
            <a href="/usuario"> <i class="glyphicon glyphicon-user"></i>
                <span class="hidden-xs">
                    <font><font class="">tocijan</font></font> 
                </span>
            </a>
        </li>
        <li>
            <div class="btn-group balance">
                <button type="button" class="btn btn-danger btn-xs">
                    <span id="balance_info">
                        <font>
                            <font>$ 178,345.79</font>
                        </font>
                    </span>
                </button>
                <button type="button" class="btn btn-danger btn-xs dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
                    <span class="caret"></span>
                    <span class="sr-only">
                        <font>
                            <font>Toggle Dropdown</font>
                        </font>
                    </span>
                </button>
                <ul class="dropdown-menu" role="menu">
                    <li>
                        <font>
                            <font>Bonus:</font>
                        </font>
                        <span id="hdnBonus">
                            <font>
                                <font>$ 0.00</font>
                            </font>
                        </span>
                    </li>
                    <li class="divider"></li>
                    <li>
                        <font>
                            <font>Extractable:</font>
                        </font>
                        <span id="real_info">
                            <font>
                                <font>$ 178,345.79</font>
                            </font>
                        </span>
                    </li>
                    <li class="divider"></li>
                    <li>
                        <font>
                            <font>Reserved Bonus:</font>
                        </font>
                        <span id="resbon_info">
                            <font>
                                <font>$ 100.00</font>
                            </font>
                        </span>
                    </li>
                </ul>
            </div>
        </li>
        <li>
            <a href="/LoginPartial/Logoff?n2page=466&amp;n2part=799"> <i class="glyphicon glyphicon-arrow-left"></i>
                <font>
                    <font>Get out</font>
                </font>
            </a>
        </li>
    </ul>
    <div class="clr"></div>
</div>
我知道我登录了,因为我刚刚实现了一个基本的等待10秒超时,并拍摄了页面的屏幕截图,它显示了正确的结果,但现在我想用waitFor函数来断言这一点


我使用了错误的css选择器?

大多数时候都是空白,因为我们作为开发人员喜欢缩进。尝试检查该元素是否包含在HTML中:

return document.querySelector('...').innerHTML.indexOf('tocijan') != -1;

如果这不起作用,请检查元素是否在iframe中。您需要使用
casper.withFrame()

专门切换到iFrame。如果您是正确的,那么整个标记都在一个我没有注意到的iFrame中:)
//waitfor function
this.waitFor(function check() {
    //evaluate if the page has a link to the user profile
    return this.evaluate(function() {
      return document.querySelector('a[href="/usuario"] span font font').innerHTML == 'tocijan';
    });
},
//after the condition is met
function then() {
    //capture a test image of the page
    this.capture('test.png');
});
return document.querySelector('...').innerHTML.indexOf('tocijan') != -1;