首页 > 解决方案 > 如何单击 Atata 框架的隐藏按钮?

问题描述

在我正在做的项目的一部分中隐藏了一个可点击的按钮。当鼠标在它上面时它变得可见。我想点击隐藏按钮。我尝试了网站上写的大多数方法,但我没有成功。你有什么建议吗?

<div class="btn-group" style="visibility: hidden;">
  <a class="btn btn-xs" title="Add" onclick="AddAction()">
    <i clas="fa fa-plus-circle test-success"> == $0
      ::before
    </i>
  </a>
</div>

标签: c#selenium-webdriveratata

解决方案


因此,尽管您使用的是visibility: hidden,但我建议您opacity改为使用。正如您所期望的那样,这仍然隐藏了按钮。随意查看W3 Schools网站。它有很多很棒的资源,涵盖了这样的简单事情。

我利用了该网站的以下参考资料:

onclick 事件

onmouseover 事件

onmouseout 事件

opacity 属性

function OnHover(element) {
      element.style.opacity = 100;
    }
    function OnExit(element) {
      element.style.opacity = 0;
    }
    function OnClick(element) {
      element.innerHTML = "You clicked me as a hidden button!";
      element.style.color = "red";
    }
.btn {
  visibility: hidden;
}
.btn:hover {
  visibility: visible !important;
}
<button id="btnO" onmouseover="OnHover(this)" onmouseout="OnExit(this)" onclick="OnClick(this)" style="opacity: 0;">Opacity</button>
<button id="btnV" onclick="OnClick(this)" class="btn">Visibility</button>

我相信由于在您的场景中设置了可见性hidden,因此页面不会触发连接到元素中的事件。甚至诸如CSS 选择器hover之类的似乎也受到此属性的影响。它似乎不会减少元素的大小,因为visibility实时通过开发人员工具更改元素不会影响页面的布局。但是,opacity只需减少元素上的 Alpha 通道,所有事件仍会正常触发。

更资深的网页开发者;如果我在上述陈述中错了,请随时纠正我。我找不到太多关于此的文档。

提示:隐藏元素会占用页面空间。使用 display 属性在文档布局中隐藏和删除元素!

关于上面来自 W3 Schools 的引用,您可以创建一个空div元素来容纳您的按钮。然后,当用户将鼠标悬停在元素上时,显示按钮或从事件中div调用 javascript 函数。onclick在这种情况下,您可以使用该visibility属性,因为您不会直接与按钮交互,而是与div.


推荐阅读