IWebElement が DOM に (再) 接続されるのを待つにはどうすればよいでしょうか? 私のシナリオは、ドロップダウン1から1つの値を選択し、クリックした後にドロップダウン2でデータバインディングが発生するようになります。したがって、Dd1 から「foo」を選択し、Dd2 から「bar」を選択するようにテストすると、例外が発生します。Dd2 がまだレンダリングされていないため、競合状態が発生します。これで、WebDriverWait クラスがあり、Until メソッドを次のように使用できることがわかりました。
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(5));
wait.Until(By.Id("foo"));
しかし、ロケーター文字列 ("foo") をテスト ロジックに持ち込むのは本当に嫌です。Page オブジェクト モデルを使用する場合、私は既に IWebElement インスタンスを持っています
[FindsBy(How = How.Id, Using = "ctl00_MainContentPlaceHolder_actionButtonBarControl_btnSave")]
public IWebElement BtnSave { get; set; }
では、IWebElement が通信できるようになるまで暗黙的に待機する方法を知っていますか?