当canvas元素在Selenium中没有名称或ID时,如何在canvas对象上自动执行操作?

时间:2012-06-08 14:50:30

标签: selenium webdriver selenium-rc

我有一个画布对象,用于数字签名...我想尝试,使用selenium自动执行该操作...

我发现了,

selenium.clickAt("canvas_element_name","co-ordinates"); 

可以做得很好......`(坐标像,“30,40”)..但是情况是没有给出canvas元素的名称... By.xpath不能与selenium一起使用。 clickAt ...

我发现的其他方法是,

driver.findElement(By.xpath("html/body/form/div/canvas")).click();
driver.findElement(By.xpath("html/body/form/div/canvas")).click();

但是,两者都没有用......我甚至试过试试,赶上第二种方法......

PLS。在线程中找到HTML代码,以便在元素中获得关于元素的想法......

https://sqa.stackexchange.com/questions/3253/how-to-automate-the-action-on-a-canvas-object-when-the-canvas-element-has-no-na

这个的任何建议和解决方法?

1 个答案:

答案 0 :(得分:1)

我在另一个问题中发布的来源中看不到任何<canvas>元素。

如果元素隐藏在<frame><iframe>元素中,则必须首先driver.switchTo()(对于WebDriver)或selenium.selectFrame()(对于Selenium RC)。< / p>

如果它是动态创建的(通过JS),则必须wait for it to become usable