2017-12-06 7 views
-2

私はロードする特定のURLを待つことを試みている。しかし、私は完全なURLを知っていない、動的な値が最後に追加されます。 URLはwww.test.com/accepted/?12345であると言うが、私は唯一のwww.test.com/accepted/セレンUrlContains in C#

- 私はこのような何かをしようとして知ることができます:

WebDriverWait wait = new WebDriverWait(Generic.driver, TimeSpan.FromSeconds(10)); 
wait.Until(ExpectedConditions.UrlContains("www.test.com/accepted/")); 

ちょうど私が知っている部分をチェックする方法はありますか?

答えて

0
wait.Until(ExpectedConditions.UrlContains("accepted")); 

あなたが必要としているものです。それが動作しない場合は、コードをデバッグし、実際のURLと予想されるURLを確認してください。エラーが発生した場合は、私たちと共有してください。

0

ここでは、それが大文字小文字を区別しない部分一致を実装して見ることができるようにSelenium source code

public static Func<IWebDriver, bool> UrlContains(string fraction) 
{ 
    return (driver) => { 
     return driver.Url.ToLowerInvariant().Contains(fraction.ToLowerInvariant()); 
    }; 
} 

から取られたようExpectedConditions.UrlContains(string)ためのコードです。

これは、質問に表示されているコードが機能していない場合は、URLに絶対に含まれている割合が含まれていないか、または問題が表示されないことがあるためです。