【问题标题】:Cannot locate element by Xpath for chrome download page无法通过 Xpath 找到 chrome 下载页面的元素
【发布时间】:2019-05-04 08:45:51
【问题描述】:

我正在尝试编写代码来检查 selenium 和 chrome 驱动程序是否完成了下载。我的想法是

1.进入下载页面("chrome://downloads/")

2.检查网址以确保我们已从该站点下载文件(定位http://xxxxxxxx

3.查看下载状态(如果我发现“显示在文件夹中”,则表示下载成功。如果没有,则下载失败)

当我尝试定位 url 时,我停留在第 2 步。我使用开发人员工具,将光标移动到 url 以定位元素,然后我右键单击并复制 xpath。 xpath是这样的

          //*[@id="file-link"]

然后我尝试在开发人员工具中单击 ctrl+F 并再次粘贴 xpath。我找不到元素。为什么?检查没有框架。

【问题讨论】:

标签: selenium


【解决方案1】:

它会隐藏 DOM,需要使用 CSS 选择器选择 /deep/

downloads-manager/deep/downloads-item/deep/a[id="file-link"]

【讨论】:

  • 谢谢@ewwink,为了学习,我们可以通过Xpath找到它吗?
  • AFAIK 无法使用 Xpath。
【解决方案2】:

另一种方法是使用 File Class 编写一个小型 Java 实用程序。 像这样的:

 File f = new File("C:\\Users\\username\\Downloads\\Users_" + fielName+ ".xls");
    Assert.assertTrue(f.exists());

【讨论】:

  • 谢谢。这对我的任务来说是一个更好的解决方案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-05
  • 1970-01-01
  • 2019-11-19
  • 2021-01-13
  • 1970-01-01
  • 2017-07-19
  • 2018-09-20
相关资源
最近更新 更多