【问题标题】:Element is not currently visible and so may not be interacted with元素当前不可见,因此可能无法与之交互
【发布时间】:2011-12-21 11:41:26
【问题描述】:

目前我正在尝试解析一个示例站点。 在该站点中有一个设置为“显示:无” 为了应用css效果。我的意思是事实上选择 组件可见。

如何为该 html select 组件设置值?

这是我的代码:

 WebElement element = driver.findElement(By.name("paper"));
 Select paperList = new Select(element);
 paperList .selectByValue("73"); // it gives error
 driver.findElement(By.className("btn1")).click();

我正在使用 Java + Selenium WebDriver 2.0

这是一个例外:

引起:org.openqa.selenium.remote.ErrorHandler $UnknownServerException: 元素当前不可见,因此可能 不与构建信息交互:版本:'2.14.0',修订: '未知',时间:'2011-11-29 13:13:16' 系统信息:os.name:'Windows XP', os.arch: 'x86', os.version: '5.1',​​ java.version: '1.7.0-ea'

谢谢。

【问题讨论】:

    标签: selenium webdriver


    【解决方案1】:

    嗯,我能想到有两种不同的方法来处理这个问题。首先清理页面上的css,这样就不会在同一个元素上有两种冲突的样式。其次,我的猜测是您有某种形式的 javascript 启用了选择菜单,该菜单可能在您的 selenium 测试抓取对象并说它不可见后触发。在获取代码之前尝试删除 thread.sleep,仅用于测试目的。如果这样可以解决问题,那么我将创建一个查找 document.readyState 的 javascript,如果它是“完整的”,那么我将开始使用 Selenium 解析页面。

    ----- 编辑 ------

    要使用 selenium 修改 DOM,您需要使用 JavascriptExecutor 类并将其转换为您的 WebDriver。完成此操作后,您可以从页面上的 selenium 应用程序执行 javascript,这意味着您可以操作 DOM。

    这是一个例子:

    WebDriver driver; // Assigned elsewhere
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("document.getElementById('//elementID').removeAttr('display');");
    

    http://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions

    http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/JavascriptExecutor.html

    【讨论】:

    • 好主意...我如何通过 selenium webdriver 清理 css ?任何示例代码?
    • 它不起作用。我可以通过 webdriver 发布一个 url Like driver.post("test.com/sample.asp?param1=&country=222");
    【解决方案2】:

    使用所有 //div 属性准确查找 UI 元素帮助我在每次运行中定位元素。 包含所有属性以查找类名、文本、样式等元素。

    【讨论】:

      【解决方案3】:

      如果可用,请将您的 selenium 独立服务器更新到 2.35.0 或更高版本。 jar 文件需要更新。我遇到了同样的问题,我使用的是 jar 文件版本 2.33.0 ,一旦我更新/下载了 2.35.0 的新 selenium 独立服务器 jar 文件,它就解决了我的问题。

      【讨论】:

        猜你喜欢
        • 2014-11-13
        • 2016-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-27
        • 2016-04-30
        相关资源
        最近更新 更多