我们有一个自定义输入元素,它包含几个在canvas元素后面屏蔽的div元素。 div元素处理点击事件,这适用于所有浏览器。
我们如何在Watir-Webdriver中单击这样的元素?如果我们找到div元素并使用.click方法,则会导致错误:
Element is not clickable at point (423, 247). Other element would receive the click: <canvas></canvas>
在事件冒泡之前,当然会这样。我们想要做的是单击div元素所在的位置(首先单击画布,然后将气泡发送到div)。
我们不希望直接向div发送JavaScript事件,因为它没有正确测试事件冒泡。
答案 0 :(得分:0)
当然,您可以像点击div一样单击画布元素。但要回答您提出的问题:您可以尝试访问底层的selenium-webdriver浏览器驱动程序并使用selenium-webdriver方法来执行此操作。
driver = $browser.driver
element = driver.find_element(css:'div.class_name')
driver.action.move_to(element).click.perform