• 使用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>

  • 相关阅读:
    Python学习总结之三 -- 优雅的字符串
    Python学习总结之二 -- 数据类型
    Python学习总结之一 -- 基础篇
    JavaWeb学习总结第三篇--走进JSP页面元素
    JavaWeb学习总结第二篇--第一个JavaWeb程序
    JavaWeb学习总结第一篇--初识JavaWeb
    三俊马 站立会议04
    三俊马 站立会议03
    三俊马 站立会议02
    三俊马 站立会议01
  • 原文地址:https://www.cnblogs.com/xxyBlogs/p/5862325.html
Copyright © 2020-2023  润新知