マリオネットドライバーにアップデートして以来、 Firefoxはもう待っていません。 基本的には、私はそれがページに "ログアウト"を見つけることによってログインしているかどうかを確認するために、ページが読み込まれるのを待って、ログインします。ここでは、それはそれを見つける私がいることを強調Selenium - FireFox/Marionetteドライバーは待っていません。
を「ログアウト」することはできませんので、それはエラーがスローされますロードするためのページを待っていない、それは、ログインをクリックした後に何が起こっていることである私のセットアップ
// navigate to url "http://..."
// Find Log In button and .Click()
WebDriverWait wait = new WebDriverWait(driver, System.TimeSpan.FromSeconds(30));
wait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
// Assert if the page contains "Log out"
ですこのコードは古いFirefoxドライバ(Marionetteではなく)とChromeのドライバで動作しました。待っていない新しいFirefoxドライバーに問題がある人は誰ですか?
私が明確にされている必要があります申し訳ありませんが、Firefoxのドライバがどの待ちをしていないので、既存の要素を待っていることは動作しません。どちらか
なぜ、あなたはreadyStateを待つのではなく、ログアウトボタンを待っていませんか? –
あなたが使用しているコード、ログインボタンとログアウトボタンのHTML、および取得しているエラーの詳細を記入してください。 – JeffC
私はもっと多くのコードを提供することができますが、現時点ではありません。私が言ったように、以前のFirefoxのドライバとクロムドライバは動作し、待機します。そうすれば、他のドライバのために動作していれば、マリネットは同じ動作をします。 –