java使用Selenium操作谷歌浏览器学习笔记(二)
使用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操作谷歌浏览器学习笔记(二)的更多相关文章
- java使用Selenium操作谷歌浏览器学习笔记(三)键盘操作
我们用Selenium打开网页后,可能需要在输入框输入一些内容等等,这时候就需要键盘操作了 使用sendKEys进行键盘操作,在bing的搜索框中输入内容并点击跳转 1 import org.open ...
- java使用Selenium操作谷歌浏览器学习笔记(一)
下载安装 在淘宝镜像https://npm.taobao.org/mirrors/chromedriver/中下载与浏览器对应的版本 查看浏览器版本 点击查看谷歌浏览器版本 在IDEA项目中导入相关j ...
- java之jvm学习笔记二(类装载器的体系结构)
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...
- Java IO学习笔记二
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
- Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer
作者:Grey 原文地址:Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer ByteBuffer.allocate()与ByteBuffer.allocateD ...
- 学习笔记(二)--->《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记
注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法者自负一切 ...
- Java web与web gis学习笔记(二)——百度地图API调用
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- delphi操作xml学习笔记 之一 入门必读
Delphi 对XML的支持---TXMLDocument类 Delphi7 支持对XML文档的操作,可以通过TXMLDocument类来实现对XML文档的读写.可以利用TXMLDocum ...
- JDBC学习笔记二
JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...
随机推荐
- 将MindSpore运行结果输出到log文件
技术背景 我们在Linux系统下使用一些深度学习框架(如MindSpore)运行脚本的时候,经常会用一些打印输出来判断当前执行的步骤,或者是使用打印输出来定位算法问题.但是在Linux系统下程序输出其 ...
- deepin平台安装debian的cao蛋时
我在deepin系统安装别的系统的时候,一直在boot界面无法进行下一步.困扰了我好几天,最后从电脑的左侧换成了电脑的右侧(usb)接口. 终于安装成功.你是......牛(deepin)
- AAC音频编码之--概念介绍
一 概念 AAC,全称Advanced Audio Coding,是一种专为声音数据设计的文件压缩格式.与MP3不同,它采用了全新的算法进行编码,更加高效,具有更高的"性价比".利 ...
- XXL-JOB初探
参考:欢迎点击原文:https://www.xuxueli.com/xxl-job/(官方) https://blog.csdn.net/f2315895270/article/details/104 ...
- 【Atcoder F - Cumulative Cumulative Cumulative Sum】线段树
要特别注意下精度,long,int范围.WA了几次 import java.util.Scanner; class Main { // static long[] A2 ;//i^2*AI // st ...
- 09.Java数据算法
好消息 博客笔记大汇总[15年10月到至今],包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期 ...
- 三维模型3DTile格式轻量化的纹理压缩和质量关系分析
三维模型3DTile格式轻量化的纹理压缩和质量关系分析 在三维模型的3DTile格式轻量化处理中,纹理压缩是一个重要环节.但是,纹理压缩和模型质量之间存在明显的关系需要权衡.以下是纹理压缩和模型质量关 ...
- uniapp 微信对接地图的三种操作
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1.uni.getLocation 获取当前经维度 先上代码 let that = this // 获取用户是否开启 授权获取当前的地理位 ...
- 【干货】Java开发者快速上手.NET指南
前言 前几天有小伙伴在技术群里发了一个微软官方出的:适用于Java开发人员的.NET快速入门免费电子书,今天大姚来分享一下Java开发者想要快速上手.NET有哪些教程和优质资料. 微软适用于Java开 ...
- [.NET项目实战] Elsa开源工作流组件应用(三):实战演练
补充 之前的文章简单介绍了工作流和Elsa工作流库,这里再补充说明两点 工作流的使用场景非常广泛,几乎涵盖了所有需要进行业务流程自动化管理的领域. 学习一个开源库,最简单的方法就是看源码,Elsa的工 ...