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']";
最初の3つの要素は、ページが読み込まれるときに表示されます。javascript関数を使用すると、-moz-transform: translate3d(-1084px, 0px, 0px);
スタイル属性を介して要素がシフトし、次の3つの要素が表示されるようになります。これは、変更を取得するローカルFirefoxブラウザーでうまく機能しますが、Firefoxブラウザーに接続されたRemoteWebDriverをグリッド設定で使用しようとすると、要素が表示されなくなります。スクリーンショットを使用して、要素がRemoteWebDriverに引き続き表示されていることを確認しましたが、要素が更新されたDOMから取得されるのではなく、RemoteWebDriverによってキャッシュされていると思われます。
これを確認する方法はありますか?もしそうなら、要素が表示されるようにDOMを更新するにはどうすればよいですか?
明確にするために:私driver.findElement(By.xpath(...))
はjavascriptが実行された後にメソッドを使用し、要素が表示されるのを待ちますが、表示されることはありません。