2014-02-17 109 views
2

我們有一個自定義輸入元素,其中包含幾個div元素,這些div元素在canvas元素後面被屏蔽。 div元素處理點擊事件,並且在所有瀏覽器中都可以正常工作。Watir-Webdriver:如何點擊元素位置?

我們如何在Watir-Webdriver中點擊這樣一個元素?如果我們定位的div元素和使用。點擊方法,它會導致錯誤:

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

這當然會,活動前冒泡。我們想要做的是點擊div元素的位置(首先點擊畫布,然後泡泡到div)。

我們不想直接觸發JavaScript事件到div,因爲它不能正確測試事件冒泡。

+0

你能提供一個頁面(或控件)的例子嗎?我想你可以使用底層的selenium-webdriver來獲取div的位置,然後在特定的位置點擊畫布。但是,很難驗證它是否在沒有測試頁的情況下工作。 –

回答

0

當然,您可以像點擊div一樣點擊畫布元素。但要回答您提出的問題:您可以嘗試訪問底層的selenium-webdriver瀏覽器驅動程序,並使用selenium-webdriver方法來執行此操作。

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