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));

窗口最大化
// 设置浏览器浏览器最大化
driver.manage().window().maximize();

这种方式相当于点击了最大化按钮,窗口有一个由小变大的过程;
而如果你想窗口默认就是最大化的那么就是用如下方式:
ChromeOptionschromeOptions=newChromeOptions();
chromeOptions.addArguments("--start-maximized");
WebDriverdriver=newChromeDriver(chromeOptions);

窗口全屏显示
// 设置浏览器浏览器全屏模式
driver.manage().window().fullscreen();

效果和你浏览器里按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();

浏览器刷新
//浏览器页面刷新
driver.navigate().refresh();

浏览器打开新标签页
//新标签页打开Stringjs="window.open('https://tarzan.blog.csdn.net/')";
javascriptExecutor jse= (JavascriptExecutor)driver;
jse.executeScript(js);

浏览器窗口切换
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));

关闭标签页
//关闭正打开的标签页
driver.close();

关闭浏览器
//关闭浏览器
driver.quit();

浏览器页面截图
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"));



编辑
其他操作
//获取当前页面网站标题
driver.getTitle();
//获取当前页面url
driver.getCurrentUrl();
//获取当前html源码
driver.getPageSource();

以上是关于Selenium用法详解浏览器控制JAVA爬虫的主要内容,如果未能解决你的问题,请参考以下文章