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爬虫的主要内容,如果未能解决你的问题,请参考以下文章

Selenium用法详解键盘控制JAVA爬虫

Selenium用法详解鼠标控制JAVA爬虫

Selenium用法详解cookies操作JAVA爬虫

Selenium用法详解Options选项JAVA爬虫

Selenium用法详解弹框处理JAVA爬虫

Selenium用法详解窗口表单切换JAVA爬虫