ドキュメントのどこかで、WebDriver API がブロックされていないことを読みました (driver.get のようないくつかを除いて)。したがって、WebElement の click() または isDisplayed() の実行は、一般に非同期である必要があります (もちろん、ネイティブ イベントが有効になっていることが前提です)。
長い操作 (基本的に長いループ) を実行する単純な HTML ページがあります。JS の実行中、ブラウザが応答しなくなりますが、これは想定どおりです。しかし、ブラウザーがスクリプトの実行でビジーである限り、WebDriver API のような click()/isDisplayed()/executeScript() ブロックにも気付きました。
WebDriver は、合成された JS イベントではなく、クリックに対してネイティブ イベントを発行しているため、API がブロックされる理由がわかりません。現時点ではこの動作は気になりませんが、応答しないページに対してテストを実行するときに、このブロッキングの性質が信頼できるかどうかを知りたいですか? テストで条件付き待機を使用していますが、内部で何が起こっているのか、またこれがブラウザ/OS 固有のものかどうかを知りたいですか?
Windows 7 の InternetExplorerDriver (IE9) および ChromeDriver (Chrome 19) を使用した Selenium 2.20.0 でこの動作が見られます。