gpt4 book ai didi

jquery - 无法使用 casperjs 找到现有元素

转载 作者:行者123 更新时间:2023-12-01 01:35:07 25 4
gpt4 key购买 nike

我使用 casperjs 作为我的应用程序的测试工具。我在这里面临一个奇怪的问题。

casper.then(function () {
this.click('a[href="/ui/thunder/"]')

})
casper.then(function () {

this.test.assertUrlMatch(/ui\/thunder\/$/, 'Redirected to cloud page');
console.log(this.getHTML());
});

在编写这段代码时,我被重定向到 ui/thunder 页面,并在控制台日志 this.getHTML() 上,它显示了页面的完整 html,但仍然缺少一些信息。

页面加载时,它会执行多个 REST api 调用,并且数据会加载到屏幕上,但 casperjs 不会显示来自服务器的数据。

例如:当页面加载时,它会调用 REST 服务/auth/users,我将其显示在 <div class="user"></div> 中标签。

所以在浏览器中我看到的时候是这样填充的

<div class = "user">
<div class "userName">User1</div>
<div class "userName">User2</div>
</div>

但是当我在 casperjs 中为 this.getHTML() 执行 console.log 时,我得到 <div class="user"></div> (没有任何用户的空标签)

知道为什么会发生这种情况吗?

最佳答案

您可能需要等待网址实际加载到浏览器中:

casper.then(function () {
this.click('a[href="/ui/thunder/"]')
});

casper.waitFor(function() {
return /ui\/thunder\/$/.test(this.getCurrentUrl());
}, function () {
console.log(this.getHTML());
});

关于jquery - 无法使用 casperjs 找到现有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16200493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com