1、 对input执行输入直接设置value属性, 此方法主要应对输入框自动补全以及readonly属性的element,sendkeys不稳定 比如: //inputbox is a WebElement JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("arguments[0].value=\"北京\"", from_inpox); 对此可以封装一个typeQuick的方法 /** * @author Young * @param locator * @param values * @throws Exception */ protected void typeQuick(Locator locator, String values) throws Exception { WebElement e = findElement(driver, locator); log.info("type value is: " + values); JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("arguments[0].value=\""+values+"\"", e); 去掉只读属性 JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("arguments[0].removeAttribute(\"+"readonly"+\")", e); 2.对富文本框的操作JavascriptExecutor js = (JavascriptExecutor) driver; WebElement editor = driver.findElement(By.tagName("body")); js.executeScript( "arguments[0].innerHTML = '<h1>Selenium Test </h1>I love Selenium <br> this article Post By Selenium WebDriver<br><h2>Create By Young</h2>'", editor); |
|