1

誰かが私を正しい方向に向けてくれることを願っています。Internet Explorer バージョン 8 で Selenium Webdriver 2.28 を使用しています。

私たちのテストは、locator パラメーターが {By.XPath: //body} である以下のメソッドを通過します。

private IWebElement WaitAndGetElement(By locator)
{
    var wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(Constants.DefaultWaitTimeSecs));
    var elementToWaitFor = wait.Until(driver => driver.FindElement(locator));

    return elementToWaitFor;
}

コードがそのメソッドにヒットしたとき。以下の例外がスローされます。この問題は IE でかなり再現可能です。Chrome または FireFox では、このエラーは発生しません。

誰かが私たちを正しい方向に向けることができれば、とても感謝しています.

どうもありがとう。クリスチャン・クラーク

OpenQA.Selenium.InvalidSelectorException : xpath 式 '//body' を評価できないか、WebElement が生成されません (警告: サーバーはスタックトレース情報を提供しませんでした)

コマンドの継続時間またはタイムアウト: 156 ミリ秒 このエラーに関するドキュメントについては、http ://seleniumhq.org/exceptions/invalid_selector_exception.html をご覧ください。

ビルド情報: バージョン: '2.28.0'、リビジョン: '18309'、時間: '2012-12-11 20:21:18' システム情報: os.name: 'Windows 2003'、os.arch: 'x86' 、os.version: '5.2'、java.version: '1.6.0_31' セッション ID: c72ebe1d-e7f0-4fdb-aab8-9f86b374a89a

ドライバー情報: org.openqa.selenium.ie.InternetExplorerDriver 機能 [{platform=WINDOWS, javascriptEnabled=true, cssSelectorsEnabled=true, handlesAlerts=true, browserName=internet explorer, nativeEvents=true, takesScreenshot=true, version=8}]

4

2 に答える 2

0

私の好みのアプローチではありませんが、式を ".//body" に変更してみてください。この'fix'XPathで機能する可能性があります。

IE でこれらのロケーターを使用することはお勧めしませんが、WebDriver でも遅いことが証明されているため、可能であれば CSS ロケーターを使用してください。

于 2013-01-15T19:40:19.073 に答える
0

XPATH をどのように取得していますか? Firefox XPATH Checker アドオンを使用していますか? もしそうなら、Firebug で XPATH を使用することをお勧めします。それはIEで最高のIMOを機能させるようです。Firebug で要素を選択したら、要素を右クリックして [XPATH のコピー] を選択します。

于 2013-01-15T20:44:36.197 に答える