Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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从web url获取文本数据_Javascript_Selenium_Protractor - Fatal编程技术网

无法使用javascript从web url获取文本数据

无法使用javascript从web url获取文本数据,javascript,selenium,protractor,Javascript,Selenium,Protractor,我需要从web url()中提取文本数据 我使用了两个节点的模块 1)爬虫程序请求 it('Read Pdf Data using crawler',function(){ const crawler = require('crawler-request'); function response_text_size(response){ response["size"] = response.text.length;

我需要从web url()中提取文本数据

我使用了两个节点的模块

1)爬虫程序请求

  it('Read Pdf Data using crawler',function(){
        const crawler = require('crawler-request');
        function response_text_size(response){
            response["size"] = response.text.length;
            return response;
        }
        crawler("http://www.africau.edu/images/default/sample.pdf",response_text_size).then(function(response){
            // handle response

            console.log("Reponse =" + response.size);
        });

    });
对于这种情况,它不会在控制台上打印任何内容

2)pfd2json/pdfparser

it('Read Data from url',function(){
        var request = require('request');
        var pdf = require('pfd2json/pdfparser');
        var fs = require('fs');
        var pdfUrl = "http://www.africau.edu/images/default/sample.pdf";
        let databuffer = fs.readFileSync(pdfUrl);
        pdf(databuffer).then(function(data){
            var arr:Array<String> = data.text;
            var n = arr.includes('Thursday 02 May');
            console.log("Print Array " + n);
        });

    });
it('从url读取数据',函数(){
var请求=要求(“请求”);
var pdf=require('pfd2json/pdfparser');
var fs=需要('fs');
变量pdfUrl=”http://www.africau.edu/images/default/sample.pdf";
让databuffer=fs.readFileSync(pdfUrl);
pdf(数据缓冲)。然后(函数(数据){
var arr:Array=data.text;
var n=包括(“5月2日星期四”);
console.log(“打印数组”+n);
});
});
  • 失败:enoint:没有此类文件或目录,打开“”

我可以从本地路径访问数据,但无法从url提取数据。

这里的问题是,您正在使用
fs
模块(文件系统)读取远程服务器上的文件

您还错误地输入了
pdf2json
模块,这会给您带来一个错误吗

您确实需要
请求
模块。此模块将使访问远程文件成为可能。有一种方法可以做到这一点:

it('Read Data from url', function () {
    var request = require('request');
    var PDFParser = require('pdf2json');

    var pdfUrl = 'http://unec.edu.az/application/uploads/2014/12/pdf-sample.pdf';

    var pdfParser = new PDFParser(this, 1);

    // executed if the parser fails for any reason
    pdfParser.on("pdfParser_dataError", errData => console.error(errData.parserError));
    // executed when the parser finished
    pdfParser.on("pdfParser_dataReady", pdfData => console.log(pdfParser.getRawTextContent()));

    // request to get the pdf's file content then call the pdf parser on the retrieved buffer
    request({ url: pdfUrl, encoding: null }, (error, response, body) => pdfParser.parseBuffer(body));
});
这将使在程序中加载远程.pdf文件成为可能


如果你想做得更多,我建议你看看。当解析器完成读取数据时,这将只输出.pdf文件的文本内容。

我如何从该pdf中获取所有文本?@sailxor我需要做什么?我需要console.log中该pdf中的所有文本。我如何打印该文本?@dhrusoni我已更新了我的答案。这将简单地将pdf文件内容记录在控制台中。如果你想对这个模块做更多的工作,你应该看看文档:)它没有在console.log上打印任何东西,它只是通过了所有的测试用例。我编辑了我的代码,我只是把console.log放在最后一行,它工作得很好。。。