CasperJS表单AJAX结果不会出现

CasperJS表单AJAX结果不会出现,ajax,webforms,casperjs,Ajax,Webforms,Casperjs,我正试图在提交表单后刮取一些网站结果 使用Chrome开发者工具控制台,我能够填写表格并提交。在“网络”选项卡上,有两篇文章,然后结果显示在页面上 我试图用CasperJS模拟这个过程,但没有成功 var casper = require('casper').create({ clientScripts: ["./jquery.min.js"], verbose: true, logLevel: 'debug', pageSettings: { loadImages: false,

我正试图在提交表单后刮取一些网站结果

使用Chrome开发者工具控制台,我能够填写表格并提交。在“网络”选项卡上,有两篇文章,然后结果显示在页面上

我试图用CasperJS模拟这个过程,但没有成功

var casper = require('casper').create({
clientScripts: ["./jquery.min.js"],
verbose: true,
logLevel: 'debug',
pageSettings: {
    loadImages: false,
    loadPlugins: false,
    userAgent: 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36',
    webSecurityEnabled: false,
}
});

casper.start('https://ptabtrials.uspto.gov', function() {});

casper.thenOpen('https://ptabtrials.uspto.gov/prweb/PRWebLDAP2?UserIdentifier=searchuser', function() {
        this.evaluate(function(search){
            return jQuery('input#SearchTrialNumber').attr({'value': search});
        }, 'ipr');

        this.evaluate(function(){
            return jQuery('div.pzbtn-mid:contains("Search")').click();  
        });
});
这下一部分就是它断裂的地方。页面似乎从未刷新过新内容,并且进程挂起在
casper.waitUntilVisible

casper.waitUntilVisible("#PEGA_GRID_CONTENT", function(){
        var results = this.evaluate(function(){
            return jQuery("#PEGA_GRID_CONTENT tr.cellCont").size();
        });
        console.log(JSON.stringify(results));
});
终端以
[warning][phantom]Casper.waitFor()超时响应。使用waitFor()似乎是正确的,因为表单是用AJAX刷新的


我修改了jQuery以避免
$
命名空间与现有代码冲突,改为使用
jQuery

div.pzbtn-mid:contains(“搜索”)
上没有单击处理程序。你应使用:

this.evaluate(function(){
    return jQuery('button:contains("Search")').click();  
});
而不是

this.evaluate(function(){
    return jQuery('div.pzbtn-mid:contains("Search")').click();  
});

非常感谢你的帮助!我还有一个问题。JS弹出窗口似乎没有被检测到,这在控制台中有效,但在CasperJS中仍然无效。是否有一种很好的调试方法?如果选择器单击不起作用,您可以尝试将casper
鼠标
模块与XPath选择器
鼠标一起使用。单击(x(“//a[contains(text(),'IPR')]”)
或在页面上下文中正确的鼠标位置上自己创建mousedown和mouseup事件。网站上的点击操作有些可疑。