Nie można zlokalizować elementu: błąd {„method”: „xpath”, „selector”: „// li [@ id =” tablist1-tab3 „]”} przy użyciu Selenium i Java
Nov 26 2020
Otrzymałem ten błąd kilka razy:
Unable to locate element: {"method":"xpath","selector":"//li[@id="tablist1-tab3"]"}
Kod, którego użyłem to:
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();
Czy ktoś może mi pomóc z tym błędem?
Odpowiedzi
2 DebanjanB Nov 26 2020 at 04:59
Musisz użyć WebDriverWait do elementToBeClickable()
i możesz użyć jednej z następujących strategii lokalizacji :
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"]')); try this
LevanGoderdzishvili Nov 26 2020 at 05:07
Make sure the element is not inside an iFrame. If it is, then you need to first find the iFrame element and use Selenium's switchTo(). After that you will be able to locate elements inside the iframe.