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

  • 相关阅读:
    003. 爬楼梯
    ZFlie网盘框架说明
    WPF基础:Dispatcher介绍
    WPF自定义控件三:消息提示框
    GO Time 类型方法处理集合
    UserControl 加载动画
    WPF自定义控件二:Border控件与TextBlock控件轮播动画
    WPF自定义控件一:StackPanel 控件轮播
    WPF 图表控件之曲线绘制与移动
    VueApp 自动更新解决plus is not defined问题
  • 原文地址:https://www.cnblogs.com/xxyBlogs/p/5862325.html
Copyright © 2020-2023  润新知