当前位置: 首页 > 知识库问答 >
问题:

量角器点击链接,但元素是不可见的?

子车英达
2023-03-14

胡人,

当我想点击html页面列表中的链接时,我遇到了问题。这是我的html:

<h3>{{snapshot.contractKey}}&nbsp;</h3>
    <ul class="nav nav-pills nav-stacked">
                <li><a id="documentLink" href="" ng-click="checkAndRedirect('/document1/')"><span translate="contractDetail.document1"> Document</span>&nbsp;<i class="fa fa-file-text"></i></a></li>
                <li class="active"><a id="detailsLink" href="" ng-click="checkAndRedirect('/document2/')"> <span translate="contractDetail.document2"> Details</span>&nbsp;<i class="fa fa-list-ul"></i></a></li>
                <li><a id="revisionsLink" href="" ng-click="checkAndRedirect('/document3/')"> <span translate="contractDetail.document3"> Revisions </span>&nbsp;<i class="fa fa-exchange"></i></a></li>
                <li><a id="auditTrailLink" href="" ng-click="checkAndRedirect('/document4/')"> <span translate="contractDetail.document4"> Audit Trail</span>&nbsp;<i class="fa fa-tasks"></i></a></li>
                <li><a id="actionHistoryLink" href="" ng-click="checkAndRedirect('/document5/')"> <span translate="contractDetail.document5">Action History </span>&nbsp;<i class="fa fa-clock-o"></i></a></li>
     </ul>

当我想点击量角器测试中的ID链接时,错误显示没有这样的元素或元素不可见。

这是我的测试代码行:

element(by.id('documentLink')).click();

你知道为什么这是糟糕的解决方案,该怎么办?

当我这样做:

element.all(by.tagName('a')).then(function(results){ 
        expect(results.length).toEqual(5);
  });

他返回我是正确的,页面上有 5 个链接。但是当我尝试通过ID访问它们时,我不能这样做吗?

共有1个答案

王声
2023-03-14

根据您的评论,我建议您在量角器配置中使用< code>onPrepare选项,在您的规范开始运行之前最大化浏览器窗口:

onPrepare: function() {
  browser.driver.manage().window().maximize();
}
 类似资料:
  • 我正在尝试使用量角器登录谷歌帐户 google-account-spec.js conf.js 登录页面.js我正在使用页面对象模式(登录页面是页面对象) 当我尝试点击下一步按钮输入密码时,我得到一个错误 {WebDriverError:未知错误:元素…在点(1100527)处不可单击。其他元素将收到单击: 它说该元素不可点击,但之前在代码中我一直在等待它变得可点击。所以我就是不明白,这个元素怎么

  • 在我们的网站上有一个图标,隐藏/取消隐藏菜单。我创建了以下脚本来测试它: 语句“expect(foo.isDisplayed()).toBe(false);”是从本网站复制的。我看不出它失败的任何原因,但是当我运行测试时,我得到了以下错误,即:foo。显示的是(…)。托比不是一个函数。如何使用expect函数验证菜单是否隐藏? estBed测试汉堡菜单单击验证消息:失败:foo.is显示(...)

  • 问题内容: 嗨,我在让基本量角器测试正常工作时遇到了一些麻烦。 我的设置: 我使用requirejs,所以我使用angular.bootstrap()而不是ng-app attr来初始化angular。根据量角器文档,此功能不被立即使​​用,但对于不涉及单击的测试似乎效果很好。 量角器conf.json: 我使用一些包装在指令中的第三方jquery插件,我怀疑这些可能是问题的一部分。 考试: 错误

  • 我有一个模式上传图像,当我点击上传图像,它是导航到本地计算机,然后选择指定的图像。在导航到本地计算机后,我发现了一个错误。 2个规格,1个故障。 和我上载映像的代码:

  • 我用的是C#硒。WebDriver.2.44.0在某个第三方网站上,我试图按下一个元素并得到这个: 我得到了元素,点击我得到了: 该项目是在一些子菜单显示后,我成功地按下父菜单。也放5秒睡眠保险点手风琴看的很清楚(在我眼里也是看的很清楚)。 问题 - 在第三方网站上,如何强制点击此项目?

  • 我一直在搜索2天,但我无法找到解决方案,我想要一个下拉列表被选中。当我使用某些元素.all css定位器单击下拉列表时,它会单击下拉列表(下拉列表打开但显示错误)。所以我试图使用链接文本打开下拉列表(完美地打开)。但在那之后,我无法在下拉列表中选择该选项。(显示“不可见元素”)。我也无法通过链接文本选择该选项。以下是详细信息 我试图通过以下方法来选择,但我不能让它工作。 等待元素变为可见。 链接文

  • 我有一个元素,只有当我悬停在它上面时才可见。 我编写了以下代码来覆盖面板,以便元素可见。 现在我试着点击它,但它说-ElementNotVisibleError:量角器中的元素不可见错误。 基本场景是,我想将鼠标悬停在面板上,然后单击隐藏元素,因为该元素在悬停之前是不可见的。

  • 问题内容: 我正在尝试使用量角器测试元素是否可见。元素的外观如下: 在chrome控制台中时,我可以使用此jQuery选择器测试该元素是否可见: 但是,当我尝试在量角器中执行相同操作时,在运行时出现此错误: 为什么这无效?如何使用量角器检查可见性? 问题答案: 应该这样做: 记住量角器的不是jQuery和不_尚_的一部分提供CSS选择器+伪选择