Selenium自动化用法详解【浏览器控制】

简介: Selenium自动化用法详解【浏览器控制】

简介

 本文主要讲解如何使用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();

网络异常,图片无法展示
|

相关文章
|
6天前
|
Web App开发 数据采集 存储
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
本文探讨了如何利用Chrome DevTools Protocol (CDP) 与 Selenium WebDriver 提升浏览器自动化效率,结合代理IP技术高效采集微博数据。通过CDP,开发者可直接操作浏览器底层功能,如网络拦截、性能分析等,增强控制精度。示例代码展示了如何设置代理IP、cookie及user-agent来模拟真实用户行为,提高数据抓取成功率与稳定性。适用于需要频繁抓取互联网数据的应用场景。
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
|
3天前
|
数据采集 Web App开发 测试技术
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
在网络爬虫领域,Selenium与WebDriver是实现跨浏览器自动化数据抓取的利器。本文详细介绍了如何利用Selenium和WebDriver结合代理IP技术提升数据抓取的稳定性和效率。通过设置user-agent和cookie来模拟真实用户行为,避免被网站检测和阻止。文章提供了具体的代码示例,展示了如何配置代理IP、设置user-agent和cookie,并实现了跨浏览器的数据抓取。合理的参数配置能有效减少爬虫被封禁的风险,提高数据抓取效率。
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
|
2天前
|
Web App开发 Java 测试技术
自动化测试的利器:Selenium WebDriver入门与实践
【9月更文挑战第8天】在软件开发的海洋中,测试是确保我们不会溺水的那根救生索。Selenium WebDriver,作为自动化测试的明星工具,让这根救生索更加结实可靠。本文将带你快速上手Selenium WebDriver,从基础设置到实际操作,再到实战演练,让你的开发之旅更加平稳顺畅。
|
11天前
|
Web App开发 Java 测试技术
自动化测试的新篇章:使用Selenium WebDriver进行高效测试
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试犹如一艘航船,带领着质量保证团队驶向效率与精准的彼岸。本文将揭开Selenium WebDriver的神秘面纱,通过实际案例引导您掌握这一强大的自动化测试工具。我们将从Selenium WebDriver的基础概念出发,逐步深入到代码示例,最后探讨其在现实项目中的应用场景和优势,旨在为您的软件测试之旅提供清晰的指南。
|
11天前
|
Web App开发 测试技术 持续交付
探索自动化测试:以Selenium和Python为例
【8月更文挑战第31天】自动化测试在现代软件开发中扮演着不可或缺的角色。本文将通过一个简化的示例,展示如何使用Selenium和Python进行Web应用的自动化测试。我们将从安装必要的工具开始,逐步构建一个简单的测试脚本,并执行它来验证其功能。通过这个过程,我们旨在揭示自动化测试的价值,并激励读者深入探索这一领域。
|
11天前
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【8月更文挑战第31天】在软件开发的世界中,自动化测试是提高产品质量和开发效率不可或缺的一环。本文将深入探讨Selenium这一强大的自动化测试工具,从其架构、优势到实战应用,一步步揭示如何利用Selenium框架提升软件测试的效率和准确性。通过具体的代码示例,我们将展示Selenium如何简化测试流程,帮助开发者快速定位问题,确保软件的稳定性和可靠性。无论你是测试新手还是资深开发者,这篇文章都将为你打开一扇通往高效自动化测试的大门。
|
12天前
|
Web App开发 机器学习/深度学习 测试技术
软件测试中的自动化策略:以Selenium为例
【8月更文挑战第31天】在软件开发周期中,测试环节扮演着至关重要的角色。随着敏捷开发的兴起,自动化测试成为提升效率和确保产品质量的关键手段。本文将介绍如何利用Selenium工具实现软件的自动化测试,从搭建环境到编写测试脚本,再到执行和分析结果,我们将一步步揭示自动化测试的全过程。文章旨在通过具体示例,帮助读者理解并运用自动化测试技术,提高测试工作的效率和效果。
|
12天前
|
Web App开发 设计模式 测试技术
探索自动化测试的奥秘:以Selenium为例
【8月更文挑战第31天】在软件开发的世界中,质量是王道。而测试,则是确保软件质量的关键步骤。本文将深入浅出地介绍自动化测试的魅力所在,以Selenium这一流行的开源工具为例,带领读者了解如何通过编写简单的代码来自动执行测试用例,从而提高测试效率和准确性。无论你是测试新手还是希望提升自动化水平的老手,这篇文章都将是你的宝贵财富。
|
12天前
|
Web App开发 测试技术 API
自动化测试之美:使用Selenium和Python进行Web应用测试
【8月更文挑战第31天】在软件开发的快节奏世界中,自动化测试如同一束明灯,照亮了质量保证之路。本文将引导你通过Selenium和Python的强大组合,探索如何构建高效的Web应用测试框架。我们不仅会讨论理论,还会深入代码,从一个简单的示例开始,逐步扩展至更复杂的场景。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。让我们一同揭开自动化测试的神秘面纱,体验它的魅力所在。
|
12天前
|
Web App开发 XML 测试技术
自动化测试框架设计:以Python和Selenium为例
【8月更文挑战第31天】在软件开发的快节奏中,自动化测试成为确保产品质量的关键步骤。本文将引导读者了解如何结合Python语言和Selenium工具来设计一个高效的自动化测试框架。通过浅显易懂的语言和实际代码示例,我们将探索自动化测试框架的核心组件,并学习如何实现它们。无论你是测试新手还是希望提升自动化技能的开发者,这篇文章都将为你打开一扇通向高效软件测试的大门。