如何使用Selenium自动化电子签名输入?

时间:2017-03-06 09:12:16

标签: javascript java selenium canvas

有人可以建议在selenium中自动化电子签名输入的方法是什么?

我尝试使用动作类在画布对象上绘制一条线。以下是代码:

    Actions actionBuilder=new Actions(driver);          
Action drawOnCanvas=actionBuilder
            .contextClick(canvas_div)
            .moveToElement(wbCanvas,8,8)
            .clickAndHold(wbCanvas)
            .moveByOffset(120, 120)
            .moveByOffset(60,70)
            .moveByOffset(-140,-140)
            .release(canvas_div)
            .build();
    drawOnCanvas.perform();

Selenium能够识别canvas元素。我可以看到鼠标移动但画布元素上没有任何内容。

手动接收来自电子签名设备的输入。 下面是元素的HTML代码

<div class="col-lg-12 col-md-12 col-sm-12" id="canvas_div">
                            <canvas height="75" class="col-lg-12 col-md-12 col-sm-12" id="eSignatureDialog_canvas" style="border: 1px solid rgb(0, 0, 0); border-image: none;" name="eSignatureDialog_canvas">
                            </canvas>
                        </div>

1 个答案:

答案 0 :(得分:0)

您的代码似乎很好,可能除此之外:

.contextClick(canvas_div)

......可能是:

.click(wbCanvas)

Here你有一个类似的工作示例。