Интересно, у кого-то есть решение, как выполнить тривиальное действие правой кнопки мыши на любом элементе DOM. Давайте, например, сделаем правильный щелчок по кнопке «Поиск Google», чтобы выбрать вариант «Сохранить страницу как». Согласно моим исследованиям, это включает ActionChains. Примерно мой код выглядит следующим образом:Как выполнить правый щелчок, используя Selenium в python?
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()
следующие ошибки происходит:
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
[email protected]/components/driver_component.js:9176)
at DelayedCommand.prototype.executeInternal_/h (file:///tmp/tmpuIgKVI/extens
ions/[email protected]/components/command_processor.js:10831)
at DelayedCommand.prototype.executeInternal_ (file:///tmp/tmpuIgKVI/extensio
ns/[email protected]/components/command_processor.js:10836)
at DelayedCommand.prototype.execute/< (file:///tmp/tmpuIgKVI/extensions/fxdr
[email protected]/components/command_processor.js:10778)
Где я с ним не так? стр. Моя тестовая среда - Ubuntu 12.04, на всякий случай.
thanks falsetru. Он работает отлично. Теперь пришло время для другого шага, как управлять правым щелчком, чтобы выполнить «сохранить как страницу»? –
@karolinastamblewska, Добро пожаловать в переполнение стека! Если это вам помогло, вы можете рассказать об этом сообществу, [принимая ответ] (http://meta.stackexchange.com/a/5235). – falsetru
@karolinastamblewska, нажмите 'p' (клавиша быстрого доступа для сохранения страницы как)' actionChains.send_keys ('p'). Выполнить() ', теперь откроется диалог save ... – falsetru