我在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