Selenium常用的js总结

发表于:2015-10-08 11:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:to be crazy    来源:51Testing软件测试网采编

  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);
  设置富文本框内容
/**
* @author Young
* @param locator
* @param text
*/
protected void setRichTextBox(Locator locator, String text) {
WebElement e = findElement(driver, locator);
log.info("type value is:  " + text);
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].innerHTML = \"" + text + "\"", e);
}
  获取富文本框内容:
/**
* @author Young
* @param locator
* @param text
* @return
*/
protected String getRichTextBox(Locator locator, String text) {
WebElement e = findElement(driver, locator);
log.info("type value is:  " + text);
JavascriptExecutor js = (JavascriptExecutor) driver;
String result=(String) js.executeScript("arguments[0].getInnerHTML()", e);
return result;
}
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号