首页 > 其他分享 >selenium11_js语法

selenium11_js语法

时间:2024-07-04 12:52:23浏览次数:17  
标签:滚动条 execute selenium11 driver js 语法 getElementById document

1.JS语法

js 中元素定位方法,如下5种方法:

a.通过id获取,获取的是单个
document.getElementById("id")

b.通过name获取,获取的是多个
document.getElementsByName("name")[0]

c.通过标签名选取元素,获取的是多个
document.getElementsByTagName("tag")

d.通过CLASS类选取元素,获取的是多个
document.getElementsByClassName("class")

e.通过CSS选择器选取元素
document.querySelectorAll("css selector")

2.处理浏览器的滚动条

#滚动到底部
# js_end = "window.scrollTo(0, 100000)" #两个元素分别是横向滚动条,和纵向滚动条
js_end = "window.scrollTo(0, document.body.scrollHeight)"
driver.execute_script(js_end)

#滚动到顶部
js_top = "window.scrollTo(0, 0)"
driver.execute_script(js_top)

#聚焦元素
ele = driver.find_element_by_xpath("//a[contains(text(), '美国副总统彭斯')]")
driver.execute_script("arguments[0].scrollIntoView();", ele)

3.处理页面上的滚动条(非浏览器本身的)

#控制纵向滚动条  获取多个,通过下标获取
js = 'document.getElementsByClassName("scroll")[0].scrollTop=10000'
driver.execute_script(js)
#控制纵向滚动条
js = 'document.getElementsByClassName("scroll")[0].scrollLeft=10000'
driver.execute_script(js)

4.处理有iframe的富文本

js1 = 'document.getElementsByClassName("ke-iframe")[0].contentWindow.document.body.innerHTML="hello";'

5.不带iframe的写法

js = '''
document.getElementById("account").value="admin";

document.getElementsByName("password")[0].value="123456";

document.getElementById("submit").click()

'''

6.js修改属性,如日历控件

js = '''

document.getElementById("train_date").removeAttribute("readonly");

document.getElementById("train_date").value = "2019-04-08";
'''

标签:滚动条,execute,selenium11,driver,js,语法,getElementById,document
From: https://www.cnblogs.com/elaine888/p/18283666

相关文章

  • selenium03_控制台调试xpath/css语法,代码执行jQuery
    1.控制台调试Xpath语法示例: 按F12,调出控制台Console,调试Xpath语法的格式:$x("xpath语法")。如:$x("//*[@id='kw']")    2.控制台调试css语法调试css语法的格式:$("css语法")。如:$("#kw")   3.代码执行jQueryjQuery是从css语法演变过来的,其实就是css,用到css语言......
  • 【社招+校招】华为OD机试 - 运维日志排序(Java & JS & Python & C)
    鱼弦:公众号【红尘灯塔】,CSDN博客专家、内容合伙人、新星导师、全栈领域优质创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)运维日志排序算法实现(Java、JavaScript、Python、C、C++)算法概述运维日志......
  • 【校招+社招】华为OD机试 - 统计射击比赛成绩(Java & JS & Python)
    鱼弦:公众号【红尘灯塔】,CSDN博客专家、内容合伙人、新星导师、全栈领域优质创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)统计射击比赛成绩(Java、JavaScript、Python和C++)算法实现问题描述:在一......
  • Three.js
    右手坐标系//每秒转一圈constclock=newTHREE.Clock()functiontick(){consttime=clock.getElapsedTime()mesh.rotation.y=time*Math.PI*2//一秒转一圈renderer.render(scene,camera)window.requestAnimationFrame(tick)}tick()const......
  • nodejs删除和重新安装
    若重新安装nodejs本人使用卸载并重新安装的方法,简单暴力卸载1.找到以前安装nodejs的文件路径,直接删除2.例如我的在D盘路径,直接卸载3.然后删除配置环境:右键此电脑——属性——高级系统设置——高级——环境变量4.找到用户变量在path关于node与npm并删除5.系统变......
  • js 深度对象筛选器
    要实现JavaScript深度对象筛选器,可以使用filter()方法结合自定义的过滤函数来处理对象数组。以下是一个示例,假设有一个包含用户信息的对象数组,需要筛选出满足特定条件的用户:constusers=[{id:1,name:'Alice',age:25,hobbies:['reading','usic']},{i......
  • vue3+node.js+mysql+electron+express实现用户登录,文章写入删除,全量更新,增量更新,和截
    第一件事情是安装node.js,去官网下,在终端node-v,npm-v有版本号就行了,不必搞环境配置,保姆级别教程,感谢哥有时间。嘻嘻,祝大家开心。1.首先你要创建electron项目打开vscode,新建终端输入代码npminit这个代码是初始化的意思会生成一个文件package.json里面的代码应该是这......
  • 【Node.JS】入门
    文章目录Node.js的入门涉及对其基本概念、特点、安装、以及基本使用方法的了解。以下是对Node.js入门的详细介绍:一、Node.js基本概念和特点定义:Node.js是一个基于ChromeV8引擎的JavaScript运行环境,它使得JavaScript能够运行在服务器端。特点:轻量级:采用事件驱动......
  • JSOI2017 代码
    \(\text{JSOI2017day1t1代码}\)题解设\(d_i\)表示长度为\(i\)的库函数数量,\(h_i\)表示长度为\(i\)的可编译代码的数量,\(f_{i,j}\)表示寄存器初始值为\(j\)、终值为\(0\)的代码数量,\(F_{i,j}\)表示寄存器初值为\(0\)、终值为\(j\)的代码数量,\(g_{i,j}\)表示长度为\(i\)可以加上......
  • nodejs的安装及使用
    node官网:Node.js中文网、Node.js官网node安装包下载:下载|Node.js中文网、DownloadNode.js®、node的安装法1:直接下载安装node打开下载好的安装程序->接受许可协议、选择安装路径(默认c盘)->Install完成安装法2:通过nvm安装具体参照:nvm的安装及使用-CSDN博客注意......