0

我有一个正在尝试使用 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 没有改变。

那么我的问题是,我该如何让它发挥作用?由于每次运行测试时元素都会更改?

4

1 回答 1

0

今天早上我显然有一些脑胀气。

当自动化点击下一步进入文档页面时,页面一直滚动到底部,显然无法找到顶部元素。我延迟了 30 秒,然后手动滚动到页面顶部,我提到的第一个 xpath 测试通过了。

所以我选择了一个始终可见的 web 元素,并告诉它使用 page Up 命令执行发送键,它工作得很好。

于 2013-08-15T16:43:48.583 回答