如何在CasperJS中跟踪没有id和名称的链接列表

时间:2015-12-07 15:58:26

标签: casperjs

以下页面代码包含一个链接列表,这些链接没有用于点击它的ID和名称:

enter image description here

我的casperjs代码存在问题,因为它需要id或名称:

...        
    casper.then(function() {
        test.assertTextExists("User Data", "Login ok");
        test.clickLabel('Link_for_Data_1','a');
    });
...

同样通过使用带有href的xpath似乎不起作用:

this.click(x('//*[@href="#cookpot-home/data-cookpot"]/a[text()="Link_for_Data_1"]'));

更多页面代码,也许有帮助(下图中的深蓝色是带链接的部分,见第一张图片):

enter image description here

经过一番调查后,我意识到登录此页面后可能需要更多时间来加载下一页。 我添加了一个等待计时器10秒,但它仍然没有帮助!

...
    casper.then(function() {
        casper.wait(10000, function() {
            this.echo('should appear after 10s');
        });
    });

    casper.then(function() {
        console.log(this.getCurrentUrl());
        casper.waitForText('Link_for_Data_1', function() {
            this.echo('FOUND');
        });
        test.assertTextExists("Data page", "Login into Data");
...

上述代码似乎有效,直到waitForText从未打印'FOUND'。 此外assertTextExists失败,但根据getCurrentUrl,它位于正确的页面中(页面显示文本“数据页面”)!

所以以上所有似乎都是正确的方法,但它仍然没有回答我的主要问题。

0 个答案:

没有答案