在selenium Webdriver中妙用JS

执行JS

强制转换driver,然后调用executeScript方法

((JavaScriptExecutor))driver.executeScript(Script,Arguments);

从javaScript代码中返回数据,我们需要使用return关键字。

JavaScript

Syntax:

JavascriptExecutor js =(JavascriptExecutor) driver;

Js.executeScript(Script, Arguments);

 

Howto generate alert pop window in selenium

Javascriptexecutor js =(javascriptexecutor) driver;

Js.executeScript(“alert(‘window-title’)”);

 

如何使用JS在selenium webdriver中实现点击按钮的操作?

Webelement button = driver.findelement(by.id(“kw”));
Javascriptexecutor js = (javascriptexecutor) driver;
Js.executeScript(“arguments[0].click();”, element);


如何使用JS刷新浏览器?

Javascriptexecutor js =(javascriptexecutor) driver;

Js.executeScript(“history.go(0)”);


 

如何在selenium中获取整个网页的innertext?

Javascriptexecutor js =(javascriptexecutor) driver;

String stext = js.executeScript(“returndocument.documentElement.innertext;”).toString;


 

如何获取网页的标题

Javascriptexecutor js =(javascriptexecutor) driver;

Js.executeScript(“return document.title;”).toString;


 

如何使用selenium实现鼠标滚动操作

Javascriptexecutor js =(javascriptexecutor) driver;

Js.executeScript(“window.scrollBy(0,50)”);                       表示往下滚动50个像素点

 

js.executeScript(“window.scrollBy(0,document.body.scrollHeight)”);


 

是和实现点击悬停的菜单?

Javascriptexecutor js =(javascriptexecutor) driver;

Js.executeScript(“$(‘ul.menus.menu-secondary.sf-js-enabled.sub-menuli’).hover()”);



贴个实例供大家参考下,这段代码是用来格式为“readonly”属性的input日期输入元素。

/**
* 日期控件处理,将readonly属性remove掉,input输入框按正常文本输入框处理,输入正确的日期格式数据
*/
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].removeAttribute('readonly');", driver.findElement(By.xpath(".//*[@id='editForm']/table/tbody/tr[1]/td[2]/span/input[1]")));



你可能感兴趣的:(selenium,java,Java,Selenium教程)