web-dev-qa-db-ja.com

org.openqa.Selenium.ElementNotInteractableException:キーボードで要素に到達できません:FacebookのFirstNameフィールドにテキストを送信中

エラーは次のとおりです。

Exception in thread "main" org.openqa.Selenium.ElementNotInteractableException: Element <div id="u_0_b" class="_5dbb"> is not reachable by keyboard

コードは:

System.setProperty("webdriver.gecko.driver","//Users//rozali//Documents//Selenium//geckodriver");
    WebDriver driver = new FirefoxDriver();
    driver.get("http://www.facebook.com");
    driver.manage().window().maximize();

    //entering first name
    driver.findElement(By.id("u_0_b")).click();
    driver.findElement(By.id("u_0_b")).sendKeys("testing it ");

    //DOB
    Select sel1 = new Select(driver.findElement(By.xpath(".//*[@id='month']")));
    sel1.selectByIndex(4);

    Select sel2 = new Select(driver.findElement(By.xpath(".//*[@id='day']")));
    sel2.selectByValue("6");

    Select sel3 = new Select(driver.findElement(By.xpath(".//*[@id='year']")));
    sel3.selectByValue("2013");

    //clicking sign up
    driver.findElement(By.id("u_0_t")).click();
12
Rozmeen

これを試すことができますcode

public class Rozmeen{

    static WebDriver driver;
    static WebDriverWait wait;

    public static void main(String[] args) throws InterruptedException {
            System.setProperty("webdriver.gecko.driver", "F:\\Automation\\geckodriver.exe");
            driver = new FirefoxDriver();
            driver.manage().window().maximize();
            WebDriverWait wait = new WebDriverWait(driver, 40);
            driver.get("http://www.facebook.com");

            //entering first name
            wait.until(ExpectedConditions.visibilityOf(driver.findElement(By.id("pagelet_bluebar"))));
            driver.findElement(By.name("firstname")).sendKeys("testing it ");

            //DOB
            selectFromDropDown(driver.findElement(By.name("birthday_day")), "4");
            selectFromDropDown(driver.findElement(By.name("birthday_month")), "Jun");
            selectFromDropDown(driver.findElement(By.name("birthday_year")), "2013");

            //clicking sign up
            wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.name("websubmit"))));
            driver.findElement(By.name("websubmit")).click();
        }



        public static void selectFromDropDown(WebElement element , String Visibletext){
            Select select = new Select(element);
            select.selectByVisibleText(Visibletext);
        }
}  

このコードを試して、ステータスを教えてください。

0
cruisepandey

ユースケースの1つで同じ問題が発生しました:

Exception in thread "main" org.openqa.Selenium.ElementNotInteractableException: Element <div id="search"> is not reachable by keyboard

キーを送信する前に要素を識別するためにidを使用します。何かのようなもの:

driver.findElement(By.id("search")).sendKeys("...");

テスト後、CSS Selectorに変更し、問題を解決しました。

driver.findElement(By.cssSelector("#search > input:nth-child(2)")).sendKeys("...");

そのため、別の方法で問題を解決する時間を節約できるため、さまざまな方法を使用して要素と対話することを強くお勧めします。

0
invzbl3