selenium处理隐藏元素的方法

<li class="navbar-nav-item ">

<a href="#" id="cust">XX管理</a>

<ul class="navbar-dropdown-menu">

<li class="dropitem-current"><a href="/Customer/Index">XX列表</a></li>

<li
class="navbar-dropitem" id="list_2"><a
href="/Customer/CommunicateIndex">XX列表</a></li>

</ul>

</li>

第一种:

先将鼠标移动至需要经过悬停的元素,再获取显示的元素并点击;代码示例如下:

Actions action = new Actions(chrome);

action.moveToElement(chrome.findElement(By.id("cust")  )).perform(); // 鼠标移动到 toElement 元素中点

Thread.sleep(1000);

chrome.findElement(By.id("list_2") ).click(); // 【XX列表】click事件

chrome.manage().window().maximize(); // 窗口最大化

action.release(); // 鼠标事件释放

PS:

  1. 建议经过悬停的时候加入等待;
  2. 因鼠标事件稳定性较差建议操作后将窗口最大化;
  3. 鼠标事件结束后建议释放;

第二种:

对于菜单中的隐藏的下拉选项,鼠标悬浮时才显示出来,调用
action.moveToElement(element).build().perform();或
action.keyDown(keys).build().perform();一般情况下都是可以解决的。然而某些时候却不管用,这时可以借助JavaScript实现隐藏元素的点击操作,代码示例如下:

JavascriptExecutor js = (JavascriptExecutor) chrome;

myjs="document.getElementsByClassName(‘dropitem-current‘)[0].childNodes[0].click();";

System.out.print(myjs);

js.executeScript(myjs);

时间: 2024-10-19 14:57:41

selenium处理隐藏元素的方法的相关文章

隐藏元素的方法,都有啥区别?

前言 用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 display 设为 none 或者将 position 设为 absolute 然后将位置设到不可见区域. 但是每个方法之前是存在着细微的不同,这些不同决定了在一个特定的场合下使用哪一个方法.下面我的这篇文章就给大家解说一下他们之间的区别吧,让大家能根据场合来选择适合的方式. Opacity 该属性的意思是检索或设置对象的不透明度当他的透明度为0的时候,视觉上它是消

css隐藏元素的方法何区别

前言 用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 display 设为 none 或者将 position 设为 absolute 然后将位置设到不可见区域. 但是每个方法之前是存在着细微的不同,这些不同决定了在一个特定的场合下使用哪一个方法.下面我的这篇文章就给大家解说一下他们之间的区别吧,让大家能根据场合来选择适合的方式. Opacity 该属性的意思是检索或设置对象的不透明度当他的透明度为0的时候,视觉上它是消

css隐藏元素的方法

1. display:none 去除元素位置: 造成回流.重绘: 元素都没有了,自然无法触发时事件了: 2. visibility:hidden 元素存在且大小不变,只是没有渲染: 造成重绘: 元素绑定的事件不会触发了: 3. opacity:0 全透明: 元素存在且大小不变,只是没有渲染: 造成重绘: 元素绑定的事件依然会触发: 4. transorm:scale(0) 缩放缩为最小: 元素存在,大小为0*0: 造成回流.重绘: 5. position:absolute; top:-999em

CSS隐藏元素的方法及区别

1.opacity opacity:0将元素本身及其子元素都置为不可见的,而元素本身依然占据它自己的位置并对网页的布局起作用,它会响应用户交互. 2.visibility visibility:hidden将元素本身及其子元素都置为不可见的,而元素本身依然占据它自己的位置并对网页的布局起作用,它不会响应用户交互.如果想让子元素显示,则设置子元素的visibility:visibility: 3.display display:none使用这个属性,被隐藏的元素对网页的布局不起作用.不仅如此,一旦

在页面上隐藏元素的方法有哪些

方法 是否占据空间 是否响应事件 补充说明 display: none; 否 否 会引起回流和重绘 visibility: hidden; 是 否 - opacity: 0; 是 是 会引起重绘 position: absolute;top: -100px;将元素移除可见区域 是 - - transform: scale(0);将元素缩放为 0 尺寸 是 否 - z-index: -999;层级调低的同时在同样的位置上用其他元素覆盖 是 否 - ransform: rotateY(90deg);

Selenium 获取隐藏元素的内容

第一种 先获取元素通过 属性获取 WebElement webElemt= webElement.findElement(By.xpath("//*[@class='xxxxxx]/a")); //在ie下使用innerText 在火狐下使用textContent String linktext = webElemt.getAttribute("innerText"); 第二种 通过js获取 WebElement element = ...; ((Javascrip

CSS“隐藏”元素的几种方法的对比

一说起CSS隐藏元素,我想大部分小伙伴们都会想到的第一种方法就是设置display为none.这是最为人所熟知也是最常用的方法.我相信还有不少人想到使用设置visibility为hidden来隐藏元素,这种方式也是常用的方法,而且也有很多人知道两者的不同.除了这两种方法,本文还总结了一些比较不常用的方法,比较了这几种“隐藏”元素方法的区别和优缺点,欢迎大家交流!! 几种方法的简单介绍 首先我们分别来说说到底有哪几种隐藏元素的方法,有一些方法是众所周知的,还有一些算是一种技巧. display:n

CSS隐藏元素的几种方法

使用CSS隐藏元素的方法很多,在这里简单总结一下: 1.display:none display:none 应该是最常用的一种隐藏元素的方法,使用该方法隐藏的元素脱离文档流不占据空间,不会被浏览器解析,不能点击,搜索引擎可能会认为被隐藏的文字属于垃圾信息而被忽略,而且屏幕阅读器(是为视觉上有障碍的人设计的读取屏幕内容的程序)会忽略被隐藏的文字. 2.visibility:hidden 使用 visibility:hidden 隐藏的元素,不能点击,但是会占据文档空间,不够灵活,一般配合 posi

CSS 隐藏元素的八种方法

前言 总括: 本文详细讲述了在网页中用CSS隐藏元素的七种方法. 原文博客地址:从隐藏元素谈起 知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书) 博主博客地址:Damonare的个人博客 念念不忘,必有回响;有一口气,点一盏灯. 正文 说起隐藏元素我想每一个前端er都能说起几种,但能说全的我想就不是很多了.博主总结了几种隐藏元素的方法,总结如下: 1 div{ 2 3 overflow:hidden 4 opacity:0: 5 visibility:hidd