首页 > 代码库 > 使用JavascriptExecutor改变页面元素
使用JavascriptExecutor改变页面元素
如下如html的页面代码
<html> <body> <input type="text" name="text" value="alone"> </body></html>
使用下列脚本即可改变标签的属性
public class Selenium { public static WebDriver jsDriver; @BeforeMethod public void intiDriver(){ System.setProperty("phantomjs.binary.path","D:\\java\\ideaWorkStation\\casual\\src\\main\\resources\\driver\\phantomjs.exe"); jsDriver=new PhantomJSDriver(); jsDriver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); jsDriver.get("C:\\Users\\win7\\Desktop\\select.html"); } @Test(enabled = true) public void javaScriptExcutor(){ WebElement textEle=jsDriver.findElement(By.name("text")); System.out.println(textEle.getAttribute("value"));//输入改变之前的值 String jsStrToSetAtt="arguments[0].setAttribute(arguments[1],arguments[2])";//改变属性的js ((JavascriptExecutor) jsDriver).executeScript(jsStrToSetAtt, textEle, "value", "no alnon"); System.out.println(textEle.getAttribute("value"));//输入改变后前的值 String jsStrToRemoveAtt="arguments[0].removeAttribute(arguments[1],arguments[2])";//移除属性的js ((JavascriptExecutor) jsDriver).executeScript(jsStrToRemoveAtt, textEle, "value"); System.out.println(jsDriver.getPageSource());//输出改变后的页面代码 }}
执行脚本后,会看到输出如下,说明元素的属性被修改了
alone
no alnon
<html><head></head><body>
<input type="text" name="text">
</body></html>
使用JavascriptExecutor改变页面元素
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。