No se puede localizar el elemento: {"método": "xpath", "selector": "// li [@ id =" tablist1-tab3 "]"} error al usar Selenium y Java

Nov 26 2020

He recibido este error varias veces:

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

El código que he usado es:

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();

¿Alguien puede ayudarme con este error?

Respuestas

2 DebanjanB Nov 26 2020 at 04:59

Necesita usar WebDriverWait para elementToBeClickable()y puede usar cualquiera de las siguientes estrategias de localización :

  • 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"]')); prueba esto

LevanGoderdzishvili Nov 26 2020 at 05:07

Asegúrese de que el elemento no esté dentro de un iFrame. Si es así, primero debe encontrar el elemento iFrame y usar switchTo () de Selenium. Después de eso, podrá ubicar elementos dentro del iframe.