2017-09-26 81 views
1

我使用CasperJS來完成我的自動化任務。但是對於文件上傳,我使用exec()wget將圖像從其他網站上傳到我的服務器,然後使用CasperJS和casper.uploadFile()在網站上發佈圖像。CasperJS從URL而不是服務器路徑上傳圖片

現在,我嘗試使用網站圖片的網址張貼圖片,我的意思是:

casper.then(function(){ 
    this.uploadFile("input[type='file']", '/var/tmp/img.jpg'); 
}) 

,但我想做的事:

casper.then(function(){ 
    this.uploadFile("input[type='file']", 'http://mywebsite.com/images/img.jpg'); 
}) 

,當我這樣做,只是卡斯帕失敗。

+1

正如你可能已經猜到了自己download,它不會工作。填寫上傳字段時,瀏覽器使用本地文件。 – Vaviloff

+0

是的,我只是覺得有一種類似於讀寫流的東西,就像我們在Node中所做的那樣。 – Alex

回答

1

爲什麼不先下載圖像再上傳?

casper.then(function() { 
    this.download("http://mywebsite.com/images/img.jpg", 'd:/_tmp/img.jpg'); 
} 

casper.then(function(){ 
    this.uploadFile("input[type='file']", 'd:/_tmp/img.jpg'); 
}) 

請參閱從文檔