zoukankan      html  css  js  c++  java
  • ElementNotVisible exception in Selenium WebDriver

        在用webdriver做自动化测试的过程中,如果对页面上的隐藏元素,如下拉列表或是浮层进行操作的时候,常常会遇到:"org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with"提示。但是我们用isPresentByXpath()等测试当前元素的时候,返回值为True。 在网上搜索了一下解决办法,请参考:http://nitinpurswani.blogspot.com/2010/09/elementnotvisible-exception-in-selenium.html

       结合我自己的调式,用直接执行JS对应的操作比较方便。

       (1)对浮层进行输入文字
         JavascriptExecutor j= (JavascriptExecutor)driver;
         j.executeScript("document.findElementById('123').style.display='block'; ");
         然后再WebElement.sendKeys ("The words you want to type");

        (2)执行浮层上的操作,如单击
         JavascriptExecutor j= (JavascriptExecutor)driver;
         j.executeScript("document.findElementById('123').click() ");

        当然Document的很多方法都可以用来定位:
        (1)getElementById 获取对 ID 标签属性为指定值的第一个对象的引用。
        (2)getElementsByName 根据 NAME 标签属性的值获取对象的集合。
        (3)getElementsByTagName 获取基于指定元素名称的对象集合。
        
        如果要定位的页面元素没有这些儿属性,定位或操作的时候就会相对麻烦一点儿,这也是权宜之计,以后有什么好的方法,再跟大家分享。
  • 相关阅读:
    洛谷P2024 [NOI2001]食物链 题解 并查集
    洛谷P1632 点的移动 题解 枚举
    洛谷P2733 家的范围 题解 动态规划
    洛谷P1432 倒水问题 题解 广搜经典入门题(SPFA求解)
    18个常用的Linux 命令
    python 基础知正则表达式
    python 多功能下载网页
    Python3 安装urllib2包之小坑
    python 爬虫需要的库
    python html简单入门
  • 原文地址:https://www.cnblogs.com/eagleking0318/p/6521103.html
Copyright © 2011-2022 走看看