我有一个正在尝试使用 WebDriver 测试的应用程序。在一个页面上,用户选择一个数据源和一些其他选项,然后单击下一步。当用户单击下一步时,他们会看到一个页面,其中包含他们必须在提交请求之前上传的文档列表。
在包含他们必须上传的文档的页面上,我试图获取文档的名称,然后将它们与电子表格进行比较,该电子表格具有基于用户选择的数据源的所需文档列表。
这是我的问题,我正在尝试从网站上删除文档名称。我第一次尝试
String docOne = driver.findElement(By.xpath(/html/body/div[2]/div/div[2]/div/div[4]/div[2]/div/div/div/div/div[2]/div/div/div/h5)).getAttribute("textContent").toString();
System.out.println(docOne);
当我运行它时,它找不到元素。
然后我尝试了以下方法:
String docOne = driver.findElement(By.xpath("id('41027')/div[1]/h5")).getAttribute("textContent").toString();
System.out.println(docOne);
当我运行它时,它找不到元素,然后我手动测试它,发现每个新请求都有一个新 ID,即使我测试的第一个 xpath 没有改变。
那么我的问题是,我该如何让它发挥作用?由于每次运行测试时元素都会更改?