2017-06-12 2 views
1
<canvas class="word-cloud-canvas" id="word-cloud-canvas-1892" height="270" width="320"></canvas> 

を使用してHTML5のキャンバスから画像URLを取得しますか?セレンのPythonを使ってHTML5のキャンバスから画像のURLソースを取得するにはどのようにセレンのPythonに

私は

driver.execute_script("return arguments[0].toDataURL('image/png');", canvasElement) 

を使用しようとしました。しかし、それだけでバイナリを返しますか?画像の 私はイメージを保存するのではなく、イメージのURLを取得します。出来ますか?

+0

他のオプション(**セレニウム**以外)も受け入れ可能かどうかを明確にしてください。 –

答えて

-1

私は同様の問題に直面し、私は見つけることができる唯一の選択肢は、ここsubprocessphantomjs

を使用するのは、Pythonのコード

import json, subprocess 
output = check_output(['phantomjs', 'getResources.js', main_url]) 
urls = json.loads(output) 
for url in urls: 
    #filter and process URLs 

Javascriptのファイルの内容

です
// getResources.js 
// Usage: 
// phantomjs getResources.js your_url 

var page = require('webpage').create(); 
var system = require('system'); 
var urls = Array(); 

page.onResourceRequested = function(request, networkRequest) { 
    urls.push(request.url) 
}; 

page.onLoadFinished = function(status) { 
    setTimeout(function() { 
     console.log(JSON.stringify(urls)); 
     phantom.exit(); 
    }, 16000); 
}; 

page.onResourceError = function() { 
    return false; 
} 
page.onError = function() { 
    return false; 
} 

page.open(system.args[1]); 

PhantomJSはva豊かな選択肢もあります。

page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) ...'; 

これは私が私の問題のために使用さthis answerの簡易版は、次のとおりです。例では、ユーザーエージェントを変更するためにあなたは、このようなものを使用することができます。

関連する問題