Selenium用法详解浏览器控制JAVA爬虫
Posted 洛阳泰山
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium用法详解浏览器控制JAVA爬虫相关的知识,希望对你有一定的参考价值。
简介
本文主要讲解如何使用java代码利用selenium多浏览器的各种控制的代码教程。
浏览器控制
修改窗口大小
publicstaticvoidmain(String[] args)
System.setProperty(webDriver, webDriverPath);
WebDriver driver= newChromeDriver();
driver.get("https://www.baidu.com/");
// 设置浏览器浏览器的宽高为:600x800
driver.manage().window().setSize(newDimension(600,800));
![](https://image.cha138.com/20230116/e26e0192ce924debafbba277800a8820.jpg)
窗口最大化
// 设置浏览器浏览器最大化
driver.manage().window().maximize();
![](https://image.cha138.com/20230116/29d828b7c1bf42948e51feb806e4fb48.jpg)
这种方式相当于点击了最大化按钮,窗口有一个由小变大的过程;
而如果你想窗口默认就是最大化的那么就是用如下方式:
ChromeOptionschromeOptions=newChromeOptions();
chromeOptions.addArguments("--start-maximized");
WebDriverdriver=newChromeDriver(chromeOptions);
![](https://image.cha138.com/20230116/c2111c9d32eb42788b7d9573489910fa.jpg)
窗口全屏显示
// 设置浏览器浏览器全屏模式
driver.manage().window().fullscreen();
![](https://image.cha138.com/20230116/52845167f082442f990a9f49765ab682.jpg)
效果和你浏览器里按F11效果一样。
浏览器前进&后退
publicstaticvoidmain(String[] args)throws InterruptedException
System.setProperty(webDriver, webDriverPath);
WebDriver driver= newChromeDriver();
//csdn首页
driver.get("https://www.csdn.net/");
Thread.sleep(1000);
//泰山博客主页
driver.get("https://tarzan.blog.csdn.net");
Thread.sleep(1000);
// 返回(后退)到CSDN首页
driver.navigate().back();
Thread.sleep(1000);
// 前进到个人主页
driver.navigate().forward();
![](https://image.cha138.com/20230116/464f876679d94a52be220cf47dc3367f.jpg)
浏览器刷新
//浏览器页面刷新
driver.navigate().refresh();
![](https://image.cha138.com/20230116/555a41bea6ac40fea725f57e4f32b47b.jpg)
浏览器打开新标签页
//新标签页打开Stringjs="window.open('https://tarzan.blog.csdn.net/')";
javascriptExecutor jse= (JavascriptExecutor)driver;
jse.executeScript(js);
![](https://image.cha138.com/20230116/840ba9a52ff1490a84346e365136241c.jpg)
浏览器窗口切换
publicstaticvoidmain(String[] args)throws InterruptedException
System.setProperty(webDriver, webDriverPath);
WebDriver driver= newChromeDriver();
//csdn首页
driver.get("https://www.csdn.net/");
Thread.sleep(1000);
//新标签页打开Stringjs="window.open('https://tarzan.blog.csdn.net/')";
JavascriptExecutor jse= (JavascriptExecutor)driver;
jse.executeScript(js);
Thread.sleep(1000);
//切换回主页tag
List<String> windows= newArrayList<>(driver.getWindowHandles());
driver.switchTo().window(windows.get(0));
![](https://image.cha138.com/20230116/dd8911ec13c044c98caf79e02b0c8c7d.jpg)
关闭标签页
//关闭正打开的标签页
driver.close();
![](https://image.cha138.com/20230116/d3860395d1ef4b97b76981251bf8fa1e.jpg)
关闭浏览器
//关闭浏览器
driver.quit();
![](https://image.cha138.com/20230116/df47f6cb18bf4989879f68b3a4bc175c.jpg)
浏览器页面截图
publicstaticvoidmain(String[] args)throws InterruptedException, IOException
System.setProperty(webDriver, webDriverPath);
WebDriver driver= newChromeDriver();
//新标签页打开
driver.get("https://tarzan.blog.csdn.net/");
Thread.sleep(1000);
// 截图操作FilesourceFile= ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
// 截图存储
FileUtils.copyFile(sourceFile, newFile("E:\\\\screenshot\\\\"+driver.getTitle()+".png"));
![](https://image.cha138.com/20230116/407dbe077bbe4a5088b863ec0283281a.jpg)
![](https://image.cha138.com/20230116/17194d7fe2254c6085f549884ba3fa08.jpg)
![](https://image.cha138.com/20230116/dca6dfc0db554e3b94feefc219b0eb50.jpg)
编辑
其他操作
//获取当前页面网站标题
driver.getTitle();
//获取当前页面url
driver.getCurrentUrl();
//获取当前html源码
driver.getPageSource();
![](https://image.cha138.com/20230116/5e305a4ab6484ec893c674199538d498.jpg)
以上是关于Selenium用法详解浏览器控制JAVA爬虫的主要内容,如果未能解决你的问题,请参考以下文章