无法定位元素:{"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 中定位元素。