找不到元素: { "method" : "xpath" , "selector" : "//li[@id=" tablist1-tab3 "]" } 错误使用 Selenium 和 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();

有人能帮我纠正这个错误吗?

您需要使用WebDriverWait来等待elementToBeClickable(),并且您可以使用以下定位器策略之一:

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

WebElement tab=driver.findElement(By.xpath('//li[@id="tablist1-tab3"]'(;试试这个

确保元素不在iFrame内。如果是,那么您需要首先找到iFrame元素并使用Selenium的switchTo((。之后,您将能够定位iframe中的元素。

最新更新