Element: {"Methode": "xpath", "Selektor": "// li [@ id =" tablist1-tab3 "]"} Fehler mit Selenium und Java kann nicht gefunden werden

Nov 26 2020

Ich habe diesen Fehler mehrmals erhalten:

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

Der von mir verwendete Code lautet:

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

Kann mir jemand bei diesem Fehler helfen?

Antworten

2 DebanjanB Nov 26 2020 at 04:59

Sie müssen WebDriverWait für das verwenden elementToBeClickable()und können eine der folgenden Locator-Strategien verwenden :

  • 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"]')); Versuche dies

LevanGoderdzishvili Nov 26 2020 at 05:07

Stellen Sie sicher, dass sich das Element nicht in einem iFrame befindet. Wenn dies der Fall ist, müssen Sie zuerst das iFrame-Element suchen und Seleniums switchTo () verwenden. Danach können Sie Elemente im iframe finden.