webdriver js点击无法点击的元素
原文地址https://blog.csdn.net/galen2016/article/details/56847545
【WebDriver】调用JavaScript
一、WebDriver 提供了executeScript方法来执行JavaScript 代码,从而对页面元素做一些特殊操作
代码:
- ……
- WebDriver driver = new FirefoxDriver();
- JavascriptExecutor js = (JavascriptExecutor) driver;
- js.executeScript(String script, object... args);
- ……
- ……
- JavascriptExecutor js = (JavascriptExecutor) driver;
- js.executeScript("window.scrollTo(100,450);");
- ……
- ……
- JavascriptExecutor js = (JavascriptExecutor) driver;
- js.executeScript("alert('Hello world!');");
- ……
- ……
- <textarea id="id" style="width: 98%" cols="50" rows="5" class="txtarea">
- </textarea>
- ……
- ……
- String areaText= "Hello World";
- String js = "var sum=document.getElementById('id'); sum.value='" + areaText+ "';";
- ((JavascriptExecutor)driver).executeScript(js);
- ……
- ……
- //第一种方法
- JavascriptExecutor js = (JavascriptExecutor) driver;
- js.executeScript("window.document.getElementById('id').click()";
- //第二种方法
- WebElement element = driver.findElement(By.id("id"));
- js.executeScript("arguments[0].click()", element); //这里的auguments[0]就代表element
- ……
“bs_times_monthBlue bs_times_monthSelected”。我们可以用js直接设置想要选中月份的class,就不用点击了。
- ……
- List<WebElement> months = driver.findElements(By.className("bs_times_month"));
- JavascriptExecutor js = (JavascriptExecutor)driver;
- js.executeScript("arguments[0].setAttribute('class',arguments[1])",months.get(3),"bs_times_monthBlue bs_times_monthSelected");
- ……
webdriver js点击无法点击的元素的更多相关文章
- vue.js之获取当前点击对象(其实是套着vue的原生javascript吧,笑😊)
转载请注明出处:http://www.cnblogs.com/meng1314-shuai/p/7455575.html 熟悉jquery的小伙伴应该都知道jquery获取当前点击对象是有多么的粗暴, ...
- js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题
js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...
- 怎么用js设置a标签点击链接改变当前颜色
怎么用js设置a标签点击链接改变当前颜色 20 例如:多个a标签为白色,当点击其中一个a标签时改变那一个a标签的字体颜色为黄色,并且跳转到对应链接,当点击下一个a标签链接时,下一个为黄色,之前一个恢复 ...
- js去掉浏览器右键点击默认事件(+vue项目开启右键行为)
js去掉浏览器右键点击默认事件 1.阻止整个页面所有的右击事件 document.oncontextmenu = function(){ return false;} 2.特定的区域/元素 docum ...
- 基于js原生封装的点击显示完整文字
基于js原生封装的点击显示完整文字 (function(window) { var inner = ''; var showCont_s = function(ele) { this.init.app ...
- js最简单的-点击小图放大
js最简单的-点击小图放大 标签(空格分隔): js <html> <body> <img class="imgview" src="{$v ...
- js如何实现动态点击改变单元格颜色?
js如何实现动态点击改变单元格颜色? 一.总结 1.通过table的rows属性,遍历表格所有行,然后通过cells属性,遍历每一行中的单元格. 2.遍历的过程中,动态的为每一个单元格定义单击事件,改 ...
- 使用原生JS,实现鼠标点击爱心效果 !!!
使用原生JS,实现鼠标点击爱心效果 !!! 引言: 在很多时候我们都需要实现鼠标点击出现图案或者文字这样的效果,对于用户而言,这样的体验是很极致的.其实实现起来也很简单,下面一起来学习一下吧.文末附上 ...
- android selector 背景选择器的使用, button (未点击,点击,选中保持状态)效果实现
android selector 背景选择器的使用, button (未点击,点击,选中保持状态)效果实现 首先看到selector的属性: android:state_focus ...
- (79)【按键】[独立按键] - 1: 单击,双击,三击以及N击
此按键程序的实现的功能是单个独立按键的[单击],[长按],[双击],[三击]以及[多击].本文分为三个部分, 第一个部分是说[单击],[长按]的程序: 第二部分是讲[双击]: 第三部分是讲[三击],[ ...
随机推荐
- 超全面的JavaWeb笔记day23<AJAX>
AJAX AJAX概述 1 什么是AJAX AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言 ...
- iOS根据文字字数动态确定Label宽高
我们有时候在写项目的时候,会碰到,意见反馈,还有其他地方,讲座活动细则等需要大篇展示的文本, 因为每次服务器返回的内容大小不一,所以需要动态的调整label的宽高: 在ios 6 的时候可以: -(v ...
- ASP代码审计学习笔记 -3.上传漏洞
1.ASP上传过程抓包分析: POST /4.asp HTTP/1.1 Host: 192.168.1.102 User-Agent: Mozilla/5.0 (Windows NT 10.0; WO ...
- 如何连接 MySQL
操作如下: [root@localhost ~]$ mysql -uroot -p' # 本地连接 MySQL 服务 [root@localhost ~]$ mysql -uroot -p' -h19 ...
- 事件和winform的学习
记得现在已经不在学习winform啦,可是我们为什么还是学习啦,我感觉就是帮助我们往下一个层次进发啦,因为从控制台直接开始进入webform的学习,我们很难接受啦,估计效率也不高啦, ...
- LeetCode——Palindrome Linked List
Description: Given a singly linked list, determine if it is a palindrome. Follow up:Could you do it ...
- js:{}与new Object()的区别是什么
var a = {}; var b = new Object(); 这两种创建对象方式,从测试效果来看,{}会快一点. {} 这个叫做对象字面量 如果new Object()中没有传入参数,与{}是一 ...
- 高中生的IT之路-1.3那一幕
上一篇讲到,当时我认为自己的命运就是小时候上学,长大后外出打工,所以高中毕业后就来到了天津,到爸爸的店铺打工. 我爸的店铺就在天津大学校园里,幸运的是,我人生的转折点也就在此. 刚到店里那段时间,每天 ...
- 【BZOJ4559】[JLoi2016]成绩比较 动态规划+容斥+组合数学
[BZOJ4559][JLoi2016]成绩比较 Description G系共有n位同学,M门必修课.这N位同学的编号为0到N-1的整数,其中B神的编号为0号.这M门必修课编号为0到M-1的整数.一 ...
- 我的天$删除注册表$安装mysql最后一步不能启动服务的解决办法
我是照着参考资料一步一步删除的,只是我的Win7 64位的电脑比较犟,硬是要我重启电脑才能成功!强烈建议最好是重启电脑再装! 使用MySQL都有过重装的经历,要是重装MySQL基本都是在最后一步通不过 ...