7

私は最新バージョンのSeleniumとを使用しchromedriverてZKアプリケーションをテストしています。

テスト中に、DOM(またはその一部)をダンプして、必要な要素を見つけるのに役立てたいと思います(そして、おそらくテストを維持しなければならない人々を助けたいと思います)。

このメソッドWebDriver.getPageSource()は有望に見えましたが、サーバーから送信されたHTMLのみを返し、すべてのJavaScriptコードを実行した後の結果は返しません。

JavaScriptコードが実行されます。の出力では表示されないIDで要素を見つけることができますgetPageSource()。だから私は試しWebElement.getText()ましたが、それは要素のテキストだけであり、要素自体やその属性ではありません。

DOMを取得することは可能ですか、それともここで鍵穴手術を行う必要がありますか?

4

1 に答える 1

1

私は本当に同じ質問をしますが、それを行うために私が見つけた唯一の方法はExecuteScriptです:

/// <summary>
        /// Gets the parentElement/Node of a particular element
        /// </summary>
        /// <param name="driver"></param>
        /// <param name="element"></param>
        /// <returns></returns>
        public static IWebElement GetElementParent(IWebDriver driver,IWebElement element)
        {
            return (IWebElement) ((IJavaScriptExecutor)driver).ExecuteScript("return arguments[0].parentNode", element);
        }

ByがBy.DOMをサポートしていない理由私は本当に知らない機能...複数のブラウザ用のWebドライバなどが必要なためだと思います

于 2012-02-15T13:12:55.137 に答える