表通常有一个标签,但这个表是在类中定义的,它也有一个容器 这是网站:https://opensource-demo.orangehrmlive.com/web/index.php/admin/viewJobTitleList
List<WebElement> jobs = driver.findElements(By.xpath("//*[@id=\'app\']/div[1]/div[2]/div[2]/div/div/div[3]/div/div/div[2]/div/div/div[1]/div[1]/div/div/div[2]"));
for(int i=0;i<jobs.size();i++){
System.out.println(jobs.get(i).getText());
}
}
上面的代码既没有显示错误也没有工作,请告诉我哪里出了问题
问题是您的定位器不正确。当我尝试时,它没有发现任何元素。
切换到 CSS 选择器,
div.oxd-table-body > div > div > div:nth-of-type(2)
它应该可以正常工作。
List<WebElement> jobs = driver.findElements(By.cssSelector("div.oxd-table-body > div > div > div:nth-of-type(2)"));
for(int i = 0; i < jobs.size(); i++){
System.out.println(jobs.get(i).getText());
}
}
注意:您可以在浏览器的开发工具控制台中测试定位器。只需为 CSS 选择器运行
$$()
,为 XPath 运行$x()
。例如,上面的定位器是
$$("div.oxd-table-body > div > div > div:nth-of-type(2)")
返回页面上的 25 个元素。