2015-10-09 50 views
0

最大的亮點是使用Python創建一個.txt文件,然後調用CasperJS腳本。一旦CasperJS腳本運行並保存了它的文件(在本例中爲.png),就讓python抓取該文件並轉移到下一個任務。如何使用CasperJS讀取.txt文件並將信息存儲爲腳本使用的變量?

正如此問題所述,another stack overflow question。我主要看着Artjom B.提供的答案。他建議讓Python用我需要的變量保存一個.txt,以我的情況(日期,url)爲例,(2015-10-15,www.google.com)

我認爲我的部分問題是I不太瞭解JSON,但我想我需要先製作兩個腳本,然後再着手整合它們。

我卡斯帕腳本如下:

var casper = require('casper').create({ 
    pageSettings: { 
     loadImages: true, // The WebPage instance used by Casper will 
     loadPlugins: false // use these settings 
    } 
}); 

var utils = require('utils'); 
var x = require('casper').selectXPath; 
var fs = require('fs'); 
var url = //url provided in txt file that casper reads; 
var date = //date provided in text file 

casper.start().viewport(1920, 1080); 

casper.userAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X)'); 

casper.thenOpen(url); //using the variable which came from the text file 

casper.wait(3000, function() { 
    this.echo(this.getTitle()); 
    console.log("Got title, now rendering image."); 
    this.capture('date.png'); //saving the file as the date, provided by the .txt file. 
    console.log("got image of home page :D") 
}); 

casper.then(function() { 
    casper.exit(); 
}); 

casper.run(); 

我認爲這幾乎總結起來。任何方向都非常感謝,並且您知道的其他任何鏈接都可以幫助我在更大的python腳本中運行Casper腳本時獲得幫助。

TLDR:如何讓CasperJS讀取文本文件,將兩個值(日期和網址)存儲爲變量,然後使用這些變量完成其作業?

回答

0

JSON與普通的JavaScript對象非常相似。這裏是一個:

{ 
    "url": "http://example.com/path", 
    "date": "2015-10-15" 
} 

您可以直接要求JSON在CasperJS(PhantomJS)是這樣的:

var config = require("config.json"); // file written from Python 

現在你可以使用你的腳本config.dateconfig.url。您不需要將這些屬性分配給專用變量,但當然可以這樣做,以使變量稍微更短一些:

var url = config.url; 
var date = config.url; 
+0

哦,嘿!我引用了你的另一篇文章:)所以你寫: var config = require(「config.json」); //從Python編寫的文件 我是否將Python中寫入的//文件替換爲該文件的路徑?即C:\用戶\(我的comp用戶名)\ PycharmProjects \ pythontextfile.txt 或者我誤解了? – Mxracer888

+0

不,你用路徑替換'config.json'。我不知道完整路徑的行爲。也許你想使用相對路徑。 –

相關問題