无法定位元素:{"method":"xpath","selector":"//li[@id="tablist1-tab3"]"} 使用 Selenium 和 Java 时出错
Unable to locate element: {"method":"xpath","selector":"//li[@id="tablist1-tab3"]"} error using Selenium and Java
我已经多次收到此错误:
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();
谁能帮我解决这个错误?
WebElement tab = driver.findElement(By.xpath('//li[@id="tablist1-tab3"]'));
试试这个
您需要使用 for the elementToBeClickable()
and you can use either of the following :
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();
确保该元素不在 iFrame 内。如果是,则需要先找到 iFrame 元素并使用 Selenium 的 switchTo()。之后,您将能够在 iframe 中定位元素。
我已经多次收到此错误:
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();
谁能帮我解决这个错误?
WebElement tab = driver.findElement(By.xpath('//li[@id="tablist1-tab3"]')); 试试这个
您需要使用elementToBeClickable()
and you can use either of the following
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();
确保该元素不在 iFrame 内。如果是,则需要先找到 iFrame 元素并使用 Selenium 的 switchTo()。之后,您将能够在 iframe 中定位元素。