java - Selenium Webdriver - 从动态表访问数据

标签 java xpath selenium-webdriver

我正在使用 Selenium webdriver 和 Java 自动化 Web 应用程序中的一些功能测试用例。我有一个可以添加新员工的表格。当添加新员工时,添加的员工详细信息可以在另一个页面中看到。我想验证添加的员工详细信息,并最终从 View 页面中删除该员工。 每个添加的员工详细信息都显示在 View 页面的单独表格中。各个表的xpath如下

.//*[@id='contentSec']/div/div[1]  
.//*[@id='contentSec']/div/div[2]
.//*[@id='contentSec']/div/div[3]
and so on...

问题是如何获取最后添加的员工表的 xpath 以验证员工详细信息。我无法使用员工姓名或任何员工详细信息进行搜索,因为多个员工可能具有相同的详细信息。我想要一种通用的方法来访问应始终有效的员工详细信息。我用过

List<WebElements> elements=driver.findElements(By.xpath(".//*[@id='contentSec']/div"));

但是

elements.size();

即使存在多个表也始终返回 1。有什么方法可以访问最后添加的员工详细信息吗?

最佳答案

听起来您缺少最后的 /div 来获取父 div 内的内部 div:

.//*[@id='contentSec']/div/div

Is there any method to access last added employee details?

在这种情况下,您可以使用last():

.//*[@id='contentSec']/div/div[last()]

关于java - Selenium Webdriver - 从动态表访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35738145/

相关文章:

java - 指定ChromeDriver运行的端口

c# - 如何正确地将我的测试错误添加到堆栈中,以便测试不会停止执行?

java - 如何使用正则表达式分割这个字符串?

java - 在 HashMap 中遍历另一个对象中的每个对象?

c# - 通过C#将XPath作为参数传递给XSLT,

xml - 有没有更好的方法获取 XPath 查询结果的父节点?

c# - Selenium.PhantomJS 是无效的命名空间

java - 从其他 Activity 接收数据 ArrayList [Java]

java - 将项目添加到 ArrayList

java - 无法定位元素: {"method" :"xpath" ,"selector" :"//li[@id="tablist1-tab 3"]"} error using Selenium and Java