我在IE中遇到同樣的問題。 ShockwaveNN的代碼適用於Firefox和Chrome瀏覽器。我認爲問題是在單元中間點擊「點擊」。下面是action_builder.rb文檔:
#
# Clicks in the middle of the given element. Equivalent to:
#
# driver.action.move_to(element).click
#
# When no element is passed, the current mouse position will be clicked.
#
# @example Clicking on an element
#
# el = driver.find_element(:id, "some_id")
# driver.action.click(el).perform
#
# @example Clicking at the current mouse position
#
# driver.action.click.perform
#
# @param [Selenium::WebDriver::Element] element An optional element to click.
# @return [ActionBuilder] A self reference.
#
根據這一點,我的結論,應該只是在兩條線等執行這些操作:
element = driver.find_element(:xpath, canvas_xpath)
driver.action.move_to(element, 100, 100).perform
driver.action.click.perform
或
element = driver.find_element(:xpath, canvas_xpath)
driver.action.move_to(element).perform
driver.action.move_by(100, 100).click.perform
可悲的是,這一切都沒有效果(對我來說IE):(
我解決我的問題在偏遠的IE瀏覽器這樣的: '硒:: ::的webdriver遠程::功能:: internet_explorer(: javascript_enabled => true,:native_events => true)' – murtabak 2013-01-15 12:13:56