Lur*_*rtz 3 selenium webdriver
目前我正在尝试解析一个示例网站.在该站点中有一个设置为"display:none"以便应用css效果.实际上我的意思是选择组件是可见的.
如何设置该html 选择组件的值?
这是我的代码:
WebElement element = driver.findElement(By.name("paper"));
Select paperList = new Select(element);
paperList .selectByValue("73"); // it gives error
driver.findElement(By.className("btn1")).click();
Run Code Online (Sandbox Code Playgroud)
我正在使用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'
谢谢.
那么我有两种不同的方法可以解决这个问题.首先清理页面上的css,以便在同一元素上没有两个冲突的样式.其次我的猜测是你有一些形式的javascript启用选择菜单,这可能是在你的硒测试抓住对象并且说它不可见之后触发的.在获取代码之前尝试删除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');");
Run Code Online (Sandbox Code Playgroud)
http://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions
http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/JavascriptExecutor.html
| 归档时间: |
|
| 查看次数: |
22084 次 |
| 最近记录: |