Selenium RemoteWebDriver不';似乎无法识别web元素的javascript更改

Selenium RemoteWebDriver不';似乎无法识别web元素的javascript更改,java,selenium-webdriver,selenium-grid,remotewebdriver,Java,Selenium Webdriver,Selenium Grid,Remotewebdriver,在执行一些javascript之后,我一直在尝试测试WebElements的可见性。WebElements可通过以下XPath找到: 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 =

在执行一些javascript之后,我一直在尝试测试WebElements的可见性。WebElements可通过以下XPath找到:

 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转换使元素移位:translate3d(-1084px,0px,0px)样式属性,以便接下来的三个元素可见。这在本地Firefox浏览器上运行得很好,Firefox浏览器会接收更改,但是当我尝试在网格设置中使用连接到Firefox浏览器的RemoteWebDriver时,元素不再可见。我已经用屏幕截图验证了元素在RemoteWebDriver中仍然可见,但我怀疑这些元素是由RemoteWebDriver缓存的,而不是从更新的DOM中获取的

有没有办法验证这一点?如果有,我如何刷新DOM以便看到元素现在可见


澄清一下:在javascript执行之后,我使用
driver.findElement(By.xpath(…)
方法,等待元素变为可见,但它从未变为可见。

事实证明,selenium server(和FirefoxDriver)的版本在我的本地机器和网格之间是不同的,尽管Firefox的版本在这两个环境中是一致的。在我的本地机器(按预期工作)上,我使用selenium-server_2.25.0,而网格使用selenium-server_2.28.0(未按预期工作)。产生影响的差异之一是FirefoxDriver中使用Firefox本机事件的变化。我验证了selenium-server_2.31.0的更新恢复了预期的功能(和可见性)