Não foi possível localizar o elemento: erro {“method”: “xpath”, “selector”: “// li [@ id =” tablist1-tab3 “]”} usando Selenium e Java

Nov 26 2020

Recebi este erro várias vezes:

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

O código que usei é:

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

Alguém pode me ajudar com esse erro?

Respostas

2 DebanjanB Nov 26 2020 at 04:59

Você precisa usar o WebDriverWait para o elementToBeClickable()e pode usar qualquer uma das seguintes estratégias de localizador :

  • 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"]')); tente isso

LevanGoderdzishvili Nov 26 2020 at 05:07

Certifique-se de que o elemento não esteja dentro de um iframe. Se for, você precisa primeiro encontrar o elemento iFrame e usar o switchTo () do Selenium. Depois disso, você poderá localizar elementos dentro do iframe.