我正在访问Javascript上的图像数据。现在,我想以最有效的方式通过Selenium API将其传递给Python进程。
使用canvas.toDataURL()方法传递画布数据很容易,但缺点是图像被编码并解码为PNG,从而为过程增加了大量开销。
我只是想知道我是否可以通过Selenium将原始数组数据从Javascript传递到Python,以便
以原生格式传递数据(无符号整数数据)
将原始像素数据转换为base64编码,采用某种toDataURL()方式,或者只是自己在Javascript中进行处理(希望是JIT的循环)
看起来像canvasContext.getImageData(0,0,w,h).data对象类型是Uint8ClampedArray。将这些数据转换为可以轻松通过Selenium传递给Python的格式的最佳方法是什么?
Selenium 2.0 RC,可以使用任何Firefox版本。
答案 0 :(得分:1)
由于您通过getEval在Selenium和浏览器之间进行的通信是基于字符串的,因此我认为base64编码图像数据无法逃脱。可能无法发送原始二进制数据。
您可以设计自己的字符串编码方案,但它可能与内置方法一样有效。