【发布时间】:2019-12-10 15:45:36
【问题描述】:
我有这个指向文档的超链接...
<a _ngcontent-bcl-c5="" class="card-title" ng-reflect-router-link="/activityDetail,c2efa137-0cf3-" href="/activityDetail/c2efa137-0cf3-8997-bedb-94520063517b">AMA_LEARNING_AMA-2019-088</a>
我使用xpath作为
By.xpath("//a[contains(@href,'activityDetail')]") (OR)
By.xpath("//a[contains(@href,'/activityDetail/')]")
当然,它是一个 Angular 应用程序,我正在尝试将 Selenium 与 Java 一起使用。大多数网络元素定位器都工作正常,除了这个。当我在开发工具窗口中尝试它时,它正确定位了 2 个这样的元素,但是当我运行测试时,它们都没有找到。 是的,我本可以使用 ngWebDriver 工具,但是没有多少角度属性可以使用它。 有什么有用的建议吗?
【问题讨论】:
-
您遇到的错误是什么?
-
检查元素是否存在于 iframe 中。如果答案是肯定的,那么您必须切换到框架才能与它们交互。试试这个 xpath 看看是否有 iframe
//a[contains(@href,'activityDetail')]/ancestor::html/..这将带你到 iframe 文档(如果有)。
标签: angular selenium xpath css-selectors webdriverwait