在我们的一个内部角度应用程序中,显示了一个许可证文本框。由于内部有很多文本,因此以div
元素表示的许可证框具有滚动条。
问题: 如何测试元素是否具有滚动protractor
?
这是元素的HTML表示形式:
<div class="login-disclaimer-text-canvas ng-binding" ng-bind-html="disclaimer">
Copyright © Company, 2015. All Rights Reserved.
...
</div>
在哪里login-disclaimer-text-canvas
定义了以下CSS样式:
.login-disclaimer-text-canvas {
height: 50px;
width: 100%;
overflow-y: auto;
background-color: #eee;
color: #3E6372;
padding: 4px;
font-size: 10px;
}
技巧(最初在这里提出)是比较height
属性:
该
height
CSS属性指定 元素的内容区域的高度 。内容区域位于元素的填充,边框和边距之内。
与scrollHeight
:
的
Element.scrollHeight
只读属性是一个 元素的含量的高度,其中包括由于溢出内容在屏幕上不可见的测量
。该scrollHeight
值等于clientHeight
元素所需的最小值
,以便在不使用垂直滚动条的情况下适合视点中的所有内容。它包括元素填充,但不包括其边距。
如果scrollHeight
大于height
-,则元素具有滚动条。
在protractor
我们需要比较的解决承诺getAttribute('height')
和getAttribute('scrollHeight')
。让我们通过两个承诺的可重复使用的功能和解决一个then()
让expect()
来解决第二个:
function elementHasScroll(element) {
element.getAttribute('height').then(function (height) {
expect(element.getAttribute('scrollHeight')).toBeGreaterThan(height);
});
};
其中toBeGreaterThan()
得心应手匹配器的一部分jasmine- matchers
第三方。
当被滚动经过给定ID的元素时,有什么方法可以得到通知吗? 例如:
问题内容: 我有这个元素: 然后,我还有其他一些元素,例如其他文本输入,文本区域等。 当用户点击带,页面应该滚动到页面的最后一个元素与一个漂亮的动画。它应该是滚动到底部而不是顶部。 页面的最后一项是带有的按钮: 动画不应太快并且应该流畅。 我正在运行最新的jQuery版本。我更喜欢不安装任何插件,而是使用默认的jQuery功能来实现此目的。 问题答案: 假设您有一个ID为的按钮,请尝试以下示例:
问题内容: 我有一个聊天小部件,每次向上滚动时,它都会拉出一系列消息。我现在面临的问题是加载消息时滑块固定在顶部。我希望它专注于上一个数组中的最后一个索引元素。我发现可以通过传递索引来创建动态引用,但是我还需要知道使用哪种滚动功能来实现这一点 问题答案: 单击此处,获得有关StackBlits的完整演示 React 16.3 +,Class组件 类组件-Ref回调 不要使用字符串引用。 字符串引用
JavaScript 中有许多属性可让我们读取有关元素宽度、高度和其他几何特征的信息。 我们在 JavaScript 中移动或定位元素时,我们会经常需要它们。 示例元素 作为演示属性的示例元素,我们将使用下面给出的元素: <div id="example"> ...Text... </div> <style> #example { width: 300px; height:
问题内容: 我正在尝试驱动类似于Google Maps的网络地图的一部分,在该地图上,通过鼠标悬停时的滚动来进行放大/缩小。理想情况下,我希望能够执行以下操作: 我在文档中看到的最接近的方法是和,但是这两个方法都不可以滚动。我也尝试通过Javascript将滚动条发送到页面,例如,这似乎没有任何作用。 我怎样才能做到这一点? 问题答案: 要重现/测试鼠标滚轮,您必须通过脚本注入将,和事件发送到顶部
问题内容: 我正在寻找一个选择器,如果它们具有特定的子元素,它将选择所有元素。例如,选择所有带孩子的人。 可能? 问题答案: 如果元素包含特定的子元素,是否可以选择? 不幸的是还没有。 在CSS2和CSS3选择器的规格不允许任何形式的亲本选配。 关于规格变更的注意事项 从现在开始,这是关于此帖子准确性的免责声明。CSS中的父选择器已经讨论了很多年。由于尚未达成共识,因此变化不断发生。我将尝试使此答