selenium处理隐藏元素的方法


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

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:建议经过悬停的时候加入等待;因鼠标事件稳定性较差建议操作后将窗口最大化;鼠标事件结束后建议释放;

第二种:    对于菜单中的隐藏的下拉选项,鼠标悬浮时才显示出来,调用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);

你可能感兴趣的:(selenium处理隐藏元素的方法)