이 오류는 키보드로 상호작용할 수 없는 입력 필드에 키를 보내려고 할 때 발생합니다. 이 특정 경우에는 Facebook의 "FirstName" 필드에 텍스트를 보낼 때 오류가 발생합니다.
"요소는 키보드로 접근할 수 없습니다. " 오류는 다음을 포함한 다양한 이유로 인해 발생할 수 있습니다.
이 문제를 해결하기 위한 몇 가지 접근 방식이 있습니다. 문제:
WebDriverWait 및 ExpectedConditions 사용:
요소가 일시적으로 숨겨지거나 가려진 경우 ExpectedConditions와 함께 WebDriverWait를 사용하여 요소가 표시되고 클릭 가능해질 때까지 기다립니다.
사용 ExecuteScript():
요소가 영구적으로 숨겨져 있거나 가려진 경우 JavascriptExecutor 인터페이스의 ExecuteScript() 메서드를 사용하여 요소에 액세스하고 조작합니다.
스타일 편집 속성:
"display: none"과 같은 CSS 속성으로 인해 요소가 숨겨진 경우 다음을 사용하세요. ExecuteScript()를 사용하여 스타일을 수정하고 요소를 표시합니다.
WebDriver 상호 작용성 검사 비활성화(임시):
Firefox 기능 moz:webdriverClick을 false로 설정하여 다음을 수행할 수 있습니다. WebDriver 상호 작용성 검사를 일시적으로 비활성화합니다. 이는 레거시 테스트에 필요할 수 있습니다.
제공된 코드 조각에서 "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 중국어 웹사이트의 기타 관련 기사를 참조하세요!