51Testing软件测试论坛

标题: 求助使用seleniumElement点击登录操作时NotVisibleException问题 [打印本页]

作者: onlyadi    时间: 2015-1-6 14:08
标题: 求助使用seleniumElement点击登录操作时NotVisibleException问题
使用xpath和ID定位,点击登录按钮,系统抛出错误:
org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with
查看元素Displayed属性返回:
Element is not displayed!
使用网上的方法,调用js直接运行:
JavascriptExecutor j= (JavascriptExecutor)wd;
             j.executeScript("document.getElementById('d_btnLogin').click() ");
虽然没有报错,但是浏览器并没有点击登录按钮,没有进行登录操作,仍然停留在登录界面,求指导,谢谢。

Java代码:
        WebElement button = wd.findElement(By.xpath("id('d_btnLogin')/span[1]/span"));
                if(!(button.isDisplayed())){System.out.println("Element is not displayed!"); };
                clickByPath(wd,"id('d_btnLogin')/span[1]/span");
                JavascriptExecutor j= (JavascriptExecutor)wd;
             j.executeScript("document.getElementById('d_btnLogin').click() ");
HTML代码:
    <span id="d_btnLogin" class="login_button i-button login_button-default login_button-focused" tabindex="1" style="-moz-user-select: none;">
        <span class="button-left">
            <span class="caption">

                登陆

            </span>
作者: 黑羽祭    时间: 2015-1-12 13:05
回复的就如字面意思,Selenium遇到不显示的元素,就认为不可操作。
不知道方便不方便截图看看是个什么样的控件。
既然你用了js直接运行,应该是可以正常操作了。
js无效的话,你看下登录框的上层中是不是有iframe之类的标签使之没有定位到
作者: 土土的豆豆    时间: 2015-1-12 13:08
动态的span么?你把xpath 单独匹配了看看 用 debug tools跟踪下 是否可以定位到按钮上先?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2