Необходимо нажать на кнопку по координатам, элемент не входит в дом структуру(flash).
Но лучше в данном случае поработать с Sikuli.
sikuli не катит
что то я там не увидел как кликнуть по координатам, все привязка к елементам
В данном случае элементом может служит <object>
в смысле? и так и так объект, или имеет введу можно null?
>>>chrome_selenium.move_to_element_with_offset(object, 1100, 44).click().perform()
type object 'object' has no attribute 'id
тут имелось ввиду, что нужно найти тэг, при помощи которого вставляется флэш.
Это либо тэг object либо n’u embed.
Но, у вас с Webdriver вряд ли что получится. Клик по флэшу работает в Internet Explorer с nativeEvents = true, но нестабильно, и вроде бы должен заработать в Firefox начиная с версии WebDriver 2.39 (свежая).
Я рекомендую, по возможности вычислить координаты через вебдрайвер, а дальше кликнуть через Autoit или Java Robot класс. Может быть, в RF есть для этого байндинги.
жаль, хотел оптимизировать, что бы параллельно проходили тесты в разных браузерах, а управляю мышью с помощью pywin32
Как по мне, то лучше уж виртуалки для этого использовать.
Если вы скачаете Windows XP, то она не будет жрать много памяти, и тот же FF и Chrome на нее можно поставить
10 виртуалок как то не очень[quote=“dzhariy, post:9, topic:3869”]
Если вы скачаете Windows XP, то она не будет жрать много памяти, и тот же FF и Chrome на нее можно поставить
[/quote]
спасибо за совет, но 10 виртуалок не ок
Не совсем понятно, как вы получили число 10?
от балды, но моя задача может нуждаться и в большем количестве
Запуск скриптов в разных браузерах одновременно на одной машине практически всегда будет давать нестабильный результат, даже без pywin32, AutoIt и т.д. Поэтому в случае параллельного запуска - вариант один - грид+вм.
спасибо за совет, но 10 виртуалок не ок, думал может есть решение
Тогда просто синхронизируйте подобные манипуляции с мышью.
переключениями браузеров?
- предварительный move to element для фокуса
- синхронизированный окончательный move and click
chrome_selenium = ActionChains(chrome)
element = chrome.find_element_by_id('pageLogo')
chrome_selenium.move_to_element_with_offset(element, 110, 44).click().perform()
не срабатывает, вроде все правильно
И не должно - в хроме синтетические эвенты.
и что делать?