0

私のスクリプトでは、予定を追加しています。予定が画面の上部に保存された後、ツール ヒントに「正常に保存されました」というテキストが表示されます。私はこのテキストをアサートしています。試してみましThread.sleep(3000);たが、スクリプトが常に成功するわけではありません。現在、DOM に表示されていないこのツールチップ要素に webdriverwait を使用したいのですが、予定が保存されたときに一度表示されます。

4

2 に答える 2

0

Selenium の標準的な方法である WebDriverWait を使用して、何かが起こるのを「待つ」ことができます。たとえば、タイトルが特定のテキストに変更されたり、要素が消えたりするなどです。

特定のケースでは、通常、次のメソッドを定義して、タグに特定のテキストが含まれているかどうかを検出します。ドキュメント本文に存在します。

private static true IsElementExistsWithText(string text, string tagName, IWebDriver driver)
        {
            try
            {
                var result = driver.FindElement(By.CssSelector(string.Format("{0}:contains(\"{1}\")", tagName, text)));
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }

次に、私のコードで:

new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until((d) => { return IsElementExistsWithText("Saved Successfully", "span", driver); });
于 2013-09-25T12:53:37.520 に答える