Question

I wonder if someone has solution how to perform trivial right click action on any element of DOM. Let's for example do right click on the 'Google Search' button to select 'Save Page As' option. According to my research it involves ActionChains. Roughly my code is as follows:

from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver import ActionChains

br = webdriver.Firefox()
br.get('http://www.google.com')
btn=br.find_element_by_id('qbqfba')
actionChains = ActionChains(br)

actionChains.context_click(btn).perform()

The following errors occurs:

  File "/usr/local/lib/python2.7/dist-packages/selenium-2.39.0-py2.7.egg/seleniu
m/webdriver/remote/errorhandler.py", line 164, in check_response
    raise exception_class(message, screen, stacktrace)
MoveTargetOutOfBoundsException: Message: u'Offset within element cannot be scrol
led into view: (50, 14.5): [object XrayWrapper [object HTMLButtonElement]]' ; St
acktrace: 
    at FirefoxDriver.prototype.mouseMove (file:///tmp/tmpuIgKVI/extensions/fxdri
ver@googlecode.com/components/driver_component.js:9176)
    at DelayedCommand.prototype.executeInternal_/h (file:///tmp/tmpuIgKVI/extens
ions/fxdriver@googlecode.com/components/command_processor.js:10831)
    at DelayedCommand.prototype.executeInternal_ (file:///tmp/tmpuIgKVI/extensio
ns/fxdriver@googlecode.com/components/command_processor.js:10836)
    at DelayedCommand.prototype.execute/< (file:///tmp/tmpuIgKVI/extensions/fxdr
iver@googlecode.com/components/command_processor.js:10778)

Where I get wrong with it? p.s. My testing environment is Ubuntu 12.04, just in case is matter.

Was it helpful?

Solution

The id attribute of the Google Search button is gbqfba, not qbqfba (if you are seeing the same google search page I am seeeing):

btn = br.find_element_by_id('gbqfba')
#                            ^

Google Search button

Alternatively you can find button by text:

br.find_element_by_xpath('.//button[contains(., "Google Search")]')
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top