• selenium中js定位


    学习selenium的时候经常用扫的定位方式WebDriver定位方式,但是一些Windows的窗口就无力了,这时候可以用js定位

    使用js定位的时候是用DOM树定位方式

    eg:

    document.getElementById("su");

    这里就可以看出来,和浏览器中的console控制台的定位方式一样样的——果然知识都是相通的

    接下来就是正题:

    selenium中执行js脚本:

    第一步首先强转成JavascriptExcetor:

    JavaScriptExecutor js = (JavascriptExecutor) driver;

    然后用此JavascriptExcetor对象调用js定位的方法

    举例:

    // 设置日期控件的读写属性
    ((JavascriptExecutor) driver).executeScript("document.getElementById("fromDate").readOnly=false");
    // 直接为日期控件强行赋值
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("document.getElementById('fromDate').setAttribute('value','2013-06-21');");
    // 富文本编辑框的处理
    driver.switchTo().frame("ueditor_0");
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("document.body.innerHTML='ABCDEFG'");
    //js模拟点击
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("arguments[0].click();",driver.findElement(By.id("su")));
    //滚动条操作
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("document.documentElement.scrollTop=1500");
    //元素赋值
    document.getElementById('HD_CheckIn').value='zhangsan';
    //日期类型元素赋值
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("arguments[0] .value=‘2016-04-20’;",driver.findElement(By*****)));
  • 相关阅读:
    aspnet_regiis.exe -i 报 “此操作系统版本不支持此选项”
    c# winform如何屏蔽键盘上下左右键
    六大设计原则
    hexo发布失败
    springboot静态资源添加版本号控制版本更新
    parallels desktop无法连接网络无法连接usb解决方法
    @RequestParam使用defaultValue属性设置默认值
    soar以及web页面安装使用
    windows平台下安装nodejs出错2503 2502
    iconfont图标使用
  • 原文地址:https://www.cnblogs.com/lybolg/p/7263122.html
Copyright © 2020-2023  润新知