【问题标题】:Watir-Webdriver: How to click on an element location?Watir-Webdriver:如何单击元素位置?
【发布时间】:2014-02-24 10:57:26
【问题描述】:

我们有一个自定义输入元素,其中包含几个隐藏在画布元素后面的 div 元素。 div 元素处理点击事件,这在所有浏览器中都可以正常工作。

我们如何在 Watir-Webdriver 中点击这样的元素?如果我们定位到 div 元素并使用 .click 方法,则会导致错误:

Element is not clickable at point (423, 247). Other element would receive the click: <canvas></canvas>

在事件冒泡之前当然会。我们要做的是点击div元素所在的位置(先点击canvas,然后冒泡到div)。

我们不希望直接向 div 触发 JavaScript 事件,因为它不能正确测试事件冒泡。

【问题讨论】:

  • 能否提供页面(或控件)的示例?我认为您可以使用底层的 selenium-webdriver 来获取 div 的位置,然后单击特定位置的画布。但是,如果没有测试页面,很难验证它是否可以工作。

标签: watir-webdriver


【解决方案1】:

当然,您可以像单击 div 一样单击画布元素。但是要回答您提出的问题:您可以尝试访问底层的 selenium-webdriver 浏览器驱动程序并利用 selenium-webdriver 方法来执行此操作。

    driver = $browser.driver
    element = driver.find_element(css:'div.class_name')
    driver.action.move_to(element).click.perform

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多