java使用Selenium操作谷歌浏览器学习笔记(三)键盘操作
我们用Selenium打开网页后,可能需要在输入框输入一些内容等等,这时候就需要键盘操作了
使用sendKEys进行键盘操作,在bing的搜索框中输入内容并点击跳转
1 import org.openqa.selenium.By;
2 import org.openqa.selenium.Keys;
3 import org.openqa.selenium.WebDriver;
4 import org.openqa.selenium.WebElement;
5 import org.openqa.selenium.chrome.ChromeDriver;
6 import org.openqa.selenium.interactions.Actions;
7
8 public class Test {
9 public static void main(String[] args) {
10 System.setProperty("webdriver.chrome.driver", "D:\\New folder\\chromedriver_win32/chromedriver.exe");
11 WebDriver webDriver = new ChromeDriver();
12 try {
13 String s = "https://cn.bing.com/";
14
15 Actions action = new Actions(webDriver);
16
17 webDriver.get(s);
18
19 Thread.sleep(1000);
20
21 WebElement element = webDriver.findElement(By.id("sb_form_q"));
22
23 element.sendKeys("搜索" + Keys.ENTER);
24
25 } catch (InterruptedException e) {
26 e.printStackTrace();
27 } finally {
28 }
29 }
30 }
使用action进行键盘操作,在bing的搜索框中输入内容并点击跳转
1 import org.openqa.selenium.By;
2 import org.openqa.selenium.Keys;
3 import org.openqa.selenium.WebDriver;
4 import org.openqa.selenium.WebElement;
5 import org.openqa.selenium.chrome.ChromeDriver;
6 import org.openqa.selenium.interactions.Action;
7 import org.openqa.selenium.interactions.Actions;
8
9 public class Test {
10 public static void main(String[] args) {
11 System.setProperty("webdriver.chrome.driver", "D:\\New folder\\chromedriver_win32/chromedriver.exe");
12 WebDriver webDriver = new ChromeDriver();
13 try {
14 String s = "https://cn.bing.com/";
15
16 Actions actionBuilder = new Actions(webDriver);
17
18 webDriver.get(s);
19
20 Thread.sleep(1000); //等待一秒钟,直到页面动态渲染完毕
21
22 WebElement element = webDriver.findElement(By.id("sb_form_q")); //已知搜索框的id
23
24 element.clear();//清除搜索框的内容
25
26 Action action= actionBuilder
27 .keyDown(Keys.SHIFT)
28 .sendKeys(element,"abcd") //输入大写的字母
29 .keyUp(Keys.SHIFT)
30 .sendKeys("abcd")
31 .sendKeys(Keys.ENTER)
32 .build();
33
34 action.perform();
35 // element.sendKeys("搜索" + Keys.ENTER);
36
37 } catch (InterruptedException e) {
38 e.printStackTrace();
39 } finally {
40 // webDriver.close();
41 }
42 }
43 }
java使用Selenium操作谷歌浏览器学习笔记(三)键盘操作的更多相关文章
- 数据库学习笔记 (三) python操作数据库
python 操作MYSQL数据库主要有两种方式: 使用原生模块:pymysql ORM框架:SQLAchemy 一.pymysql 1.1下载安装模块 第一种:cmd下:执行命令下载安装:pip3 ...
- java使用Selenium操作谷歌浏览器学习笔记(一)
下载安装 在淘宝镜像https://npm.taobao.org/mirrors/chromedriver/中下载与浏览器对应的版本 查看浏览器版本 点击查看谷歌浏览器版本 在IDEA项目中导入相关j ...
- python学习笔记(三):文件操作和集合
对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...
- ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )
//TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...
- python学习笔记三 文件操作(基础篇)
文件操作 打开文件 open(name[,mode[,buffering]]) open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉] w ...
- java之jvm学习笔记三(Class文件检验器)
java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...
- java学习笔记07--日期操作类
java学习笔记07--日期操作类 一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. public class T { public ...
- Java IO学习笔记三
Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...
- 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记
回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...
随机推荐
- POJ 2084 Game of Connections 卡特兰数
看了下大牛们的,原来这题是卡特兰数,顺便练练java.递归式子:h(0)=1,h(1)=1 h(n)= h(0)*h(n-1) + h(1)*h(n-2) + ... + h(n-1)h(0) ( ...
- 【重学Java】可变参数
可变参数 可变参数[应用] 可变参数介绍 可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了 方法的参数类型已经确定,个数不确定,我们可以使用可变参数 可变参数定义格式 修饰符 ...
- SpringCloud:Eureka 配置心跳机制
Server服务端 server: port: 8761 eureka: client: #实例是否在eureka服务器上注册自己的信息以提供其他服务发现,默认为true re ...
- 在spring boot使用总结(九) 使用yaml语言来写配置文件
yaml是专门用来写配置文件的语言.使用yaml来写配置文件扩展性比较强而且十分方便.spring boot支持使用yaml语言来写配置文件,使用snakeyaml库来读取配置文件.spring bo ...
- 输出 time 命令的结果到文件中
译至:http://unicus.jp/skmk/archives/338 由于输出 time 命令的结果到文件时使用的错误的方式,所以将其记录下来. 环境是bash. 目标 将运行的a.out程序的 ...
- 『心善渊』Selenium3.0基础 — 23、Selenium元素等待
目录 1.什么是元素等待 2.为什么要设置元素等待 3.Selenium中常用的等待方式 4.强制等待 5.隐式等待 (1)隐式等待介绍 (2)示例 6.显式等待 (1)显式等待介绍 (2)语法 (3 ...
- ES异地双活方案
对于单机房而言,只要参考Elastic Search 官方文档,搭建一个集群即可,示意图如下: 原理类似分布式选举那一套,当一个master节点宕机时,剩下2个投票选出1个新老大,整个集群可以继续服务 ...
- varnish配置语言(2)
目录 1. Backend servers 2. 多个后端 3. Varnish 中的后端服务器和虚拟主机 4. 调度器 5. 健康检查 6. Hashing 7. 优雅模式 Grace mode 和 ...
- C语言:宏定义 本质及体现
- Nacos源码分析-事件发布机制
温馨提示: 本文内容基于个人学习Nacos 2.0.1版本代码总结而来,因个人理解差异,不保证完全正确.如有理解错误之处欢迎各位拍砖指正,相互学习:转载请注明出处. Nacos的服务注册.服务变更等功 ...