在Web自动化测试过程中, Selenium主要是通过JavascriptExecutor接口调用executeScript方法来执行JavaScript,(JavascriptExecutor js = (JavascriptExecutor) driver;)常用的操作如下?
1.访问URL
js.executeScript(“window.open(‘%s’)”,url);
js.executeScript(“window.open(‘%s’,‘_blank’);”,new Object[0]);
js.executeScript(“window.open(‘”+url+“‘,’_blank’);”,new Object[0]);
2.点击元素
js.executeScript(“arguments[0].click();”,new Object[]{element});
3.selectAllText
js.executeScript(“arguments[0].select()”,new Object[]{element});
4.设置元素值
js.executeScript(“arguments[0].value=arguments[1]”,new Object[]{element,value});
5.高亮显示要验证的内容
js.executeScript(“arguments[0].setAttribute(‘style’,‘background:yesllow;border:2px solid blue;’);”, element);
6.删除部分属性
js.executeScript(“arguments[0].removeAttribute(‘style’);arguments[0].removeAttribute(‘class’)');”,new Object[]{element});
7.移动到特定元素位置
js.executeScript(“arguments[0].scrollIntoView({blocker:‘center’})”,new Object[]{element});
8.移动到指定的像素
js.executeScript(“window.scrollBy(0,500);”);
9.注入JS
js.executeScript(new String(Files.readAllBytes(Paths.get(filepath))),new Object[]{0});
10.将光标移动到下一个元素
js.executeScript(“!!document.activeElement ? document.activeElement.blur() : 0”,new Object[]{0});