Я пытался проверить видимость WebElements после выполнения некоторого javascript. WebElements находятся по следующим путям:
public static final String MOBILE_APPS_RUNNING_APP_XPATH = "//*[@id='app_slider']/ul/li[1]/a[@class='app nike-running']";
public static final String MOBILE_APPS_FUELBAND_APP_XPATH = "//*[@id='app_slider']/ul/li[1]/a[@class='app nike-fuelband']";
public static final String MOBILE_APPS_BASKETBALL_APP_XPATH = "//*[@id='app_slider']/ul/li[1]/a[@class='app nike-basketball']";
public static final String MOBILE_APPS_TRAINING_APP_XPATH = "//*[@id='app_slider']/ul/li[2]/a[@class='app nike-training']";
public static final String MOBILE_APPS_KINECT_APP_XPATH = "//*[@id='app_slider']/ul/li[2]/a[@class='app nike-kinect']";
public static final String MOBILE_APPS_MORE_APPS_XPATH = "//*[@id='app_slider']/ul/li[2]/a[@class='app nike-more']";
Первые три элемента видны при загрузке страницы. Функция javascript заставляет элементы смещаться через атрибут стиля -moz-transform: translate3d(-1084px, 0px, 0px);
, так что следующие три элемента становятся видимыми. Это хорошо работает с локальным браузером Firefox, который улавливает изменения, но когда я пытаюсь использовать RemoteWebDriver, подключенный к браузеру Firefox в настройках сетки, элементы больше не видны. С помощью снимка экрана я подтвердил, что элементы по-прежнему видны в RemoteWebDriver, но я подозреваю, что элементы кэшируются RemoteWebDriver, а не берутся из обновленной модели DOM.
Есть ли способ проверить это, и если да, то как я могу обновить DOM, чтобы увидеть, что элементы теперь видны?
Чтобы уточнить: я использую метод driver.findElement(By.xpath(...))
после выполнения javascript и жду, пока элемент станет видимым, чего он никогда не делает.