Casperjs 测试 - 删除 QObject

Posted

技术标签:

【中文标题】Casperjs 测试 - 删除 QObject【英文标题】:Casperjs Testing - deleted QObject 【发布时间】:2015-03-20 16:29:24 【问题描述】:

我目前正在使用 casperjs 编写一些测试,但在尝试单击网页上的按钮时遇到了问题。这是我点击按钮的代码:

var x = require('casper').selectXPath;
this.click(x('//*[@id="xx-xxx"]/body/div[2]/div[2]/div[1]/nav/div[2]/button[5]'));

通常我对按钮点击没有任何问题,但由于某种原因返回的错误是

错误:无法调用已删除 qObject 的函数

有人知道这是什么意思吗?我能做些什么来阻止这种情况发生?

【问题讨论】:

代码没有问题,请提供完整的脚本。该错误表明您关闭了该页面。您是否使用框架或弹出窗口? 【参考方案1】:

“deleted QObject”通常表示底层页面对象已关闭,但您尝试与之交互。例如,当单击弹出窗口中的某些内容导致弹出窗口关闭时,就会发生这种情况。离开弹出窗口时,CasperJS 尝试对其进行一些操作,但失败了,因为相关的内存已被释放。

【讨论】:

以上是关于Casperjs 测试 - 删除 QObject的主要内容,如果未能解决你的问题,请参考以下文章

windows下面安装casperjs

CasperJS 介绍以及Windows上安装介绍

Casperjs/PhantomJs vs Selenium

使用 casperJS 登录网站

如何使用 Chrome 远程调试 CasperJS?

Casperjs / PhantomJs vs Selenium