このエラーは、対話できない入力フィールドにキーを送信しようとすると発生しますキーボードで。この特定のケースでは、Facebook の「FirstName」フィールドにテキストを送信するときにエラーが発生します。
「キーボードでは要素にアクセスできません」 " エラーは、次のようなさまざまな理由で発生する可能性があります。
これに対処するにはいくつかのアプローチがあります問題:
WebDriverWait と ExpectedConditions を使用する:
要素が一時的に非表示または隠されている場合は、ExpectedConditions とともに WebDriverWait を使用して、要素が表示されクリック可能になるまで待機します。
使用するexecuteScript():
要素が永続的に非表示または隠蔽されている場合は、JavaScriptExecutor インターフェイスのexecuteScript() メソッドを使用して要素にアクセスし、操作します。
スタイルの編集属性:
「display:」などの CSS 属性により要素が非表示になっている場合なし、" スタイルを変更して要素を表示するには、executeScript() を使用します。
WebDriver の対話性チェックを無効にする (一時的):
Firefox の機能 moz:webdriverClick WebDriver の対話性チェックを一時的に無効にするには、 false に設定します。これはレガシー テストで必要になる場合があります。
提供されたコード スニペットでは、「FirstName」フィールドにページが読み込まれるたびに変化する動的 ID。この問題を解決するには、ID ではなく属性に基づいて要素を検索する動的ロケーター戦略を使用します。
更新されたコード スニペット:
WebDriver driver = new FirefoxDriver(); driver.get("https://www.facebook.com"); driver.findElement(By.xpath("//input[@name='firstname' and contains(@class,'inputtext')]")).sendKeys("testing it ");
以上がFacebook 入力フィールドにテキストを送信すると「org.openqa.selenium.ElementNotInteractableException」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。