要素を見つけることができません:{“ method”:“ xpath”、“ selector”:“ // li [@ id =” tablist1-tab3“]”} SeleniumとJavaを使用したエラー

Nov 26 2020

このエラーを数回受け取りました。

Unable to locate element: {"method":"xpath","selector":"//li[@id="tablist1-tab3"]"}

私が使用したコードは次のとおりです。

options.addArguments("--headless");
options.addArguments("window-size=1200x900");
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
WebElement tab = driver.findElement(By.xpath("//li[@id=\"tablist1-tab3\"]"));
tab.click();

誰かがこのエラーで私を助けることができますか?

回答

2 DebanjanB Nov 26 2020 at 04:59

あなたは使用する必要がありますWebDriverWaitをするためにelementToBeClickable()、あなたは、次のいずれかを使用することができロケータ戦略:

  • cssSelector

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("li#tablist1-tab3"))).click();
    
  • xpath

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//li[@id=\"tablist1-tab3\"]"))).click();
    
1 Agnia Nov 26 2020 at 03:55

WebElement tab = driver.findElement(By.xpath( '// li [@ id = "tablist1-tab3"]')); これを試して

LevanGoderdzishvili Nov 26 2020 at 05:07

要素がiFrame内にないことを確認してください。そうである場合は、最初にiFrame要素を見つけて、SeleniumのswitchTo()を使用する必要があります。その後、iframe内の要素を見つけることができるようになります。