我使用花岗岩墨水WebComponents元素有以下html代码:
<granite-ink id="graniteSignature" class="style-scope signature-control">
<div id="inputArea" class="style-scope granite-ink" style="touch-action:
none;"><canvas width="887" height="112"></canvas></div>
</granite-ink>
我尝试使用Selenium测试它的代码是:
var canvas = drawing.findElement(webdriver.By.css("#inputArea"));
var actions = driver.actions();
actions.mouseMove(canvas,500,100).mouseDown().mouseMove(canvas,200,60).mouseUp().perform();
当我在我的cmd上运行它时,我的应用程序中的签名画布区域没有任何反应,任何人都知道如何修改它?我还发现在测试中我不能使用clickandHold()和其他一些Seleium方法。
答案 0 :(得分:0)
要识别<canvas>
元素而不是css
作为#inputArea
,您可以使用以下代码行:
var canvas = drawing.findElement(webdriver.By.css("granite-ink.style-scope.signature-control#graniteSignature > div.style-scope.granite-ink#inputArea > canvas"));