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