使用WebDriver操作浏览器之前必须设置对应的driver

System.setProperty("webdriver.chrome.driver", "D:\\New folder\\chromedriver_win32/chromedriver.exe");

使用WebDriver访问网页并获取网页源代码

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver; public class Test { public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "D:\\New folder\\chromedriver_win32/chromedriver.exe");
WebDriver webDriver = new ChromeDriver();
try { String url = "https://www.baidu.com"; webDriver.get(url);

String page = webDriver.getPageSource();
System.out.println(page);
}finally {
// webDriver.close();
}
}
}

运行代码后,会自动打开一个浏览器并根据url跳转,然后在控制台打印出网页的以源代码(可能杂乱不堪)

获取网页元素

       //在全局中查找元素
List<WebElement> inputList = webDriver.findElements(By.tagName("input"));
List<WebElement> buttonList = webDriver.findElements(By.tagName("button")); WebElement element = webDriver.findElement(By.id("element")); //在某个元素中查找子元素
WebElement bb = element.findElement(By.id("element1")); List<WebElement> element2 = element.findElements(By.id("element2"));

对元素进行操作

//            输入账号和密码登录
String zhanghao = "zhanghao";
String mima = "mima"; WebElement account = inputList.get(0);//获取账号输入框
WebElement password = inputList.get(1);//获取密码输入框
//
account.sendKeys(zhanghao);//表示在框中输入该内容
password.sendKeys(mima);
//
WebElement submit = buttonList.get(0); submit.click();//点击登录按钮

清除网页cookie

有时候可能需要用多个账号登录同一个网站,但是谷歌浏览器默认会保存cookie,可能下次登录不会出现登录页面,而是直接以上个账号登上系统

这时候就需要清除cookie。当然也可以直接设置谷歌浏览器不报存cookie

  private static void getCookie(String url){

            WebDriver webDriver = new ChromeDriver();

            webDriver.get(url);

            Set<Cookie> cookieSet =  webDriver.manage().getCookies();

            for (Cookie cooke :   cookieSet) {

            }
System.out.println("获取cookie成功"); webDriver.manage().deleteAllCookies(); webDriver.close(); }

java使用Selenium操作谷歌浏览器学习笔记(二)的更多相关文章

  1. java使用Selenium操作谷歌浏览器学习笔记(三)键盘操作

    我们用Selenium打开网页后,可能需要在输入框输入一些内容等等,这时候就需要键盘操作了 使用sendKEys进行键盘操作,在bing的搜索框中输入内容并点击跳转 1 import org.open ...

  2. java使用Selenium操作谷歌浏览器学习笔记(一)

    下载安装 在淘宝镜像https://npm.taobao.org/mirrors/chromedriver/中下载与浏览器对应的版本 查看浏览器版本 点击查看谷歌浏览器版本 在IDEA项目中导入相关j ...

  3. java之jvm学习笔记二(类装载器的体系结构)

    java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...

  4. Java IO学习笔记二

    Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...

  5. Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer

    作者:Grey 原文地址:Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer ByteBuffer.allocate()与ByteBuffer.allocateD ...

  6. 学习笔记(二)--->《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记

    注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法者自负一切 ...

  7. Java web与web gis学习笔记(二)——百度地图API调用

    系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...

  8. [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计

    源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...

  9. delphi操作xml学习笔记 之一 入门必读

    Delphi 对XML的支持---TXMLDocument类       Delphi7 支持对XML文档的操作,可以通过TXMLDocument类来实现对XML文档的读写.可以利用TXMLDocum ...

  10. JDBC学习笔记二

    JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...

随机推荐

  1. Redis之哈希分片原理一致性哈希算法与crc16算法

    集群分片模式 如果Redis只用复制功能做主从,那么当数据量巨大的情况下,单机情况下可能已经承受不下一份数据,更不用说是主从都要各自保存一份完整的数据.在这种情况下,数据分片是一个非常好的解决办法. ...

  2. C++入门编程----C++运算符(8)

    什么是运算符 运算符是让程序执行特定的数学或逻辑操作的符号,用来表示针对数据的特定操作,也称之为操作符.C++运算符分别有算术运算符.关系运算符.逻辑运算符.赋值运算符.位运算符.移位运算符.size ...

  3. 第12章_MySQL数据类型精讲

    第12章_MySQL数据类型精讲 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. MySQL中的数据类型 类型 类型举例 整数类型 TINYINT. ...

  4. 基于BES2500芯片的低功耗蓝牙BLE游戏手柄解决方案源码解析

    一 往事    寒冬腊月,在一个寂静的天空飘着碎银雪花的夜晚.我接到这么一个电话:"朋友,能否帮忙开发一个游戏手柄的案子?我们遇到了一些问题,迟迟无法解决.",喔,这边我陷入了沉思 ...

  5. 可穿戴设备主控制器芯片AMA3B 源码解析之初体验

    一 背景和缘由   现在的mcu非常多,在超低功耗mcu这块,能赢得市场穿戴式设备使用的产品的确不多,以前是的是stm32 L系列,可是,随着L系列的缺货涨价和技术指标没有快速的发展,很多厂商都抛弃了 ...

  6. 恒玄科技BES250解决方案之双耳链接调试总结和源码分析

    一 前言 bes2500芯片在tws耳机应用十分广泛,该芯片有着资源强大,音质好,大厂背书等特色.吸引了不少粉丝跟随. 最近在调试该芯片的tws配对流程,花费了一些时间,踩了一些坑,这里做一个总结和备 ...

  7. docker安装kafka和zookeeper

    参考,欢迎点击原文:https://www.cnblogs.com/360minitao/p/14665845.html(主要) https://blog.csdn.net/qq_22041375/a ...

  8. Android热点SoftAP使用方式

    一.背景 最近项目中Android设备需要获取SoftAP信息(wifi账号.密码.IP等),然后传递到投屏器中,那么如何获取到SoftAP信息呢?我们知道可以通过WifiManager类里的方法可以 ...

  9. .NET Core使用 CancellationToken 取消API请求

    您是否曾经访问过一个网站,它需要很长时间加载,最终你敲击 F5 重新加载页面. 即使用户刷新了浏览器取消了原始请求,而对于服务器来说,API也不会知道它正在计算的值将在结束时被丢弃,刷新五次,服务器将 ...

  10. vue基础知识和原理(二)

    1.13 列表渲染 v-for指令 用于展示列表数据 语法:v-for="(item, index) in xxx" :key="yyy" 可遍历:数组.对象. ...