2010-10-04 4 views
2

Я пытаюсь использовать Webdriver для тестирования веб-сайта, ориентированного на местоположение, и хотел бы программно (с помощью вызова API WebDriver) нажать кнопку «Share Location», которая появляется, когда я нажимаю по ссылке на часть, известную для местоположения веб-приложения.Webdriver: нажмите кнопку «Поделиться местоположением» в Firefox

Это приглашение браузера и, кажется, не является элементом DOM или всплывающим элементом javascript.

ответ

5

В случае, если кто-либо заинтересован в знании ... Я не верю, что вы можете использовать webdriver, чтобы щелкнуть эту кнопку, поскольку он не находится в DOM (то есть, не является частью веб-документа), как предложено другими ответами , Тем не менее, вы можете создавать профили firefox для управления геолокациями или изменять настройку «Совместное размещение» на «Разрешить» в Firefox.

Смотрите следующую ссылку для получения дополнительной информации: http://selenium.polteq.com/nl/change-geolocation-in-firefox-with-selenium-webdriver/

+0

в FF 28, когда я открываю: разрешений нет опции «Разрешить» в разделе «Поделиться местоположением». Только «Всегда спрашивать» или «Заблокировать». – andy

0

Вы можете попытаться поискать по XPath //input[@value="Share Location"] это является <input type=button>, или, возможно, вы можете попробовать //button[contains(., "Share Location")] если это <button> элемент

1

Вы должны начать Firefox вручную один раз - и выберите профиль, который вы используете для Selenium.

тип about:permissions в адресной строке; найдите имя своего хоста - и выберите share location : "allow".

Это все. Теперь ваши тестовые примеры Selenium не увидят этого страшного диалогового окна браузера, которого нет в DOM.

Смежные вопросы