Selenium_WebDriver_控制浏览器
版权声明:本文为博主原创文章,转载请注明出处。
浏览器环境:
①GoogleChrome:60
②chromedriver:2.30;
访问
|
操作 |
方法 |
示例 |
|
访问页面 |
void get(java.lang.String url) |
driver.get("http://xueshu.baidu.com"); |
|
void to(java.lang.String url) |
driver.navigate().to("http://news.baidu.com"); |
控制浏览器窗口大小
|
浏览器窗口大小 |
方法 |
示例 |
|
自定义大小 |
void setSize(Dimension targetSize) |
说明:设置窗体大小为480*800 实现:driver.manage().window().setSize(new Dimension(480, 800)); |
|
全屏 |
void maximize() |
说明:设置窗体为全屏 实现:driver.manage().window().maximize(); |
控制浏览器后退、前进
在使用浏览器浏览网页时,浏览器提供了后退和前进按钮,可以方便地在浏览过的网页之间切换,WebDriver也提供了一些方法用于这些操作;
|
操作 |
方法 |
示例 |
|
后退 |
void back() |
driver.navigate().back(); |
|
前进 |
void forward() |
driver.navigate().forward(); |
|
driver.getCurrentUrl() //返回driver所停留的当前页的url |
||
刷新浏览器
有时候我们在执行完某些操作后,需要手动刷新浏览器,以便获取最新的数据。
|
操作 |
方法 |
示例 |
|
刷新 |
void refresh() |
driver.navigate().refresh(); |
滚动条滑动
我们需要借助 JavaScript 来控制浏览器的滚动条。WebDriver 提供了 executeScript()方法来执行 JavaScript 代码。
|
操作 |
方法 |
说明 |
|
滚动条移动 |
executeScript() |
操作对象类型是 JavascriptExecutor,需要将WebDriver转为JavascriptExecutor |
|
示例1 |
//移动到指定的坐标 ((JavascriptExecutor)driver).executeScript("window.scrollTo(100,900);"); |
|
|
示例2 |
//移动到页面最底部 ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, document.body.scrollHeight)"); |
|
附测试代码:package com.SeleniumLib.jase;
package com.SeleniumLib.jase; import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver; public class ControlBrowser {
public static void main(String[]args) throws InterruptedException{ System.out.println("start selenium"); WebDriver driver;
System.setProperty("webdriver.chrome.driver","D:/selenium-java-3.5.3/chromedriver.exe"); //chromedriver驱动的本地存放路径
driver = new ChromeDriver(); //访问页面
/*driver.navigate().to("http://news.baidu.com");
driver.get("http://xueshu.baidu.com");*/ //控制浏览器窗口大小
/*driver.manage().window().setSize(new Dimension(480, 800));//设置浏览器大小为480*800
driver.manage().window().maximize();//浏览器全屏显示
driver.get("http://www.baidu.com/"); */ //控制浏览器后退、前进
/*driver.get("http://news.baidu.com");
System.out.println("CurrentUrl"+driver.getCurrentUrl());
driver.get("http://xueshu.baidu.com");
System.out.println("CurrentUrl"+driver.getCurrentUrl());
driver.navigate().back();
System.out.println("CurrentUrl"+driver.getCurrentUrl());
driver.navigate().forward();
System.out.println("CurrentUrl"+driver.getCurrentUrl()); */ //刷新浏览器
/*driver.get("http://news.baidu.com");
driver.navigate().refresh();*/ //滚动条下拉操作
driver.get("http://www.baidu.com");
driver.findElement(By.id("kw")).sendKeys("Selenium");
driver.findElement(By.id("su")).click();
Thread.sleep(2000);
((JavascriptExecutor)driver).executeScript("window.scrollTo(100,900);"); //移动到指定的坐标(X,Y),X表示水平的左间距,Y表示垂直的上边距
Thread.sleep(2000);
((JavascriptExecutor) driver).executeScript("window.scrollTo(0, document.body.scrollHeight)"); //移动到页面最底部 System.out.println("end selenium");
///////driver.close(); //测试时为了更直观直接注释掉了,也可使用延时 }
}
参考:
Selenium Java API:https://seleniumhq.github.io/selenium/docs/api/java/index.html
http://blog.csdn.net/jlminghui/article/details/50477283
Selenium_WebDriver_控制浏览器的更多相关文章
- 通过HTTP头控制浏览器的缓存
通过HTTP头控制浏览器的缓存 浏览器缓存是提高用户体验和提升程序性能的一个很重要的途径,通过浏览器的缓存控制,可以对实时性要求不高的数据进行缓存,可以减少甚至不需要再次对服务器的请求就可以显示数据. ...
- Egret--设置全屏,控制浏览器全屏
1, 手机浏览器打开的项目的时候,浏览器的虚拟按键/标题栏, 使得即便设置全屏也没有变成全屏(好像JS 中有方法向浏览器请求全屏) 2, 加载资源, 关闭后卸载, 再次进入游戏依然很快.不过登陆游戏的 ...
- Nginx实践篇(2)- Nginx作为静态资源web服务 - 控制浏览器缓存、防盗链
一.控制浏览器缓存 1. 浏览器缓存简介 浏览器缓存遵循HTTP协议定义的缓存机制(如:Expires;Cache-control等). 当浏览器无缓存时,请求响应流程 当浏览器有缓存时,请求响应流程 ...
- HttpServletResponse常见应用——设置响应头控制浏览器的行为
1.设置http响应头控制浏览器禁止缓存当前文档内容 1 response.setDateHeader("expries", -1); 2 response.setHeader(& ...
- 通过selenium控制浏览器滚动条
目的:通过selenium控制浏览器滚动条 原理:通过 driver.execute_script()执行js代码,达到目的 driver.execute_script("window.sc ...
- Selenium3 + Python3自动化测试系列三——控制浏览器操作
控制浏览器操作 控制浏览器窗口大小 在测试过程中,我们在打开浏览器后,根据需求可自定义调整浏览器的尺寸大小.WebDriver提供了set_window_size()方法来设置浏览器的大小. 如果页面 ...
- 用JS实现控制浏览器F12与右键功能
本文出至:新太潮流网络博客 用JS实现控制浏览器F12与右键功能,防止恶意窃取代码,或其他直接复制进去就好 //禁用右键 document.oncontextmenu = function () { ...
- 用selenium 模块控制浏览器
11.8 用selenium 模块控制浏览器selenium 模块让Python 直接控制浏览器,实际点击链接,填写登录信息,几乎就像是有一个人类用户在与页面交互.与Requests 和Beautif ...
- selenium - 控制浏览器窗口的大小和浏览器最大化
1.控制浏览器大小 有些前端的页面需要查看在不同像素下的兼容情况,比如把像素设置为 480*800,然后截图看看页面显示有没有问题 WebDriver 提供了 set_windows_size() 方 ...
随机推荐
- css3渐变之径向渐变
径向渐变由它的中心定义.可以指定渐变的中心.形状(原型或椭圆形).大小.默认情况下,渐变的中心是 center(表示在中心点),渐变的形状是 ellipse(表示椭圆形),渐变的大小是 farthes ...
- PageRank_网页排名_MapReduceJava代码实现思路
PageRank 1. 概念 2. 原理 3. java代码实现思路 1.定义收敛标准 每次算出新的pr-oldpr=差值 ,所有页面的差值累加 ,除以pagecou ...
- thinkPHP内置字符串截取msubstr函数用法详解
作者:陈达辉 字体:[增加 减小] 类型:转载 时间:2016-11-15 我要评论 这篇文章主要介绍了thinkPHP内置字符串截取函数用法,结合实例形式分析了thinkPHP内置的字符串截取函数功 ...
- PostgresSQL中的限制和级联删除
摘录自:http://www.mamicode.com/info-detail-879792.html 删除和更新时对应的操作是一样的
- CCF系列之Z字形扫描(201412-2)
试题编号:201412-2试题名称:Z字形扫描时间限制: 2.0s内存限制: 256.0MB 问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan).给定一个n ...
- Hyperledger Fabric Membership Service Providers (MSP)——成员服务
Membership Service Providers (MSP) 本文将介绍有关MSPs的设置和最佳实践的详细方案. Membership Service Providers (MSP)是一个旨在 ...
- 微信小程序左右滑动切换图片酷炫效果
开门见山,先上效果吧!感觉可以的用的上的再往下看. 心动吗?那就继续往下看! 先上页面结构吧,也就是wxml文件,其实可以理解成微信自己封装过的html,这个不多说了,不懂也没必要往下看了. < ...
- js 原型 函数和对象的关系
函数就是对象的一种 instanceof 可以做判断 var fn = function(){}; fn instanceof Object //true Object构造函数的prototype ...
- scrapy_移除内容中html标签
如何移除所获取内容中多余的html标签? 通过w3lib模块和re模块 #!/usr/bin/python3 # -*- coding: UTF-8 -*- __author__ = 'beimenc ...
- TinyXML 的简单介绍以及使用
先说几句重点: 1,tinyxml 生成或解析XML非常好用 2,tinyxml 利用DOM(文档对象模型)操作XML,根节点与各个子节点相当于形成一棵树 3,只要你了解tinyxml的用法,可以只n ...