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

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

相关文章
|
10天前
|
数据采集 测试技术 Python
自动化淘宝秒杀:使用Selenium WebDriver的实战指南
本文详细介绍了如何利用Selenium WebDriver自动化淘宝秒杀操作,包括环境配置、代码实现及注意事项,旨在帮助读者提升秒杀成功率,同时提醒合理使用以遵守平台规则。
55 8
|
2月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
|
2月前
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
|
24天前
|
数据采集 Web App开发 JavaScript
爬虫策略规避:Python爬虫的浏览器自动化
爬虫策略规避:Python爬虫的浏览器自动化
|
2月前
|
Web App开发 Java
使用java操作浏览器的工具selenium-java和webdriver下载地址
【10月更文挑战第12天】Selenium-java依赖包用于自动化Web测试,版本为3.141.59。ChromeDriver和EdgeDriver分别用于控制Chrome和Edge浏览器,需确保版本与浏览器匹配。示例代码展示了如何使用Selenium-java模拟登录CSDN,包括设置驱动路径、添加Cookies和获取页面源码。
|
2月前
|
JavaScript 前端开发 测试技术
精通Selenium:从基础到高级的网页自动化测试策略
【10月更文挑战第6天】随着Web应用变得越来越复杂,手动进行功能和兼容性测试变得既耗时又容易出错。自动化测试因此成为了现代软件开发不可或缺的一部分。Selenium是一个强大的工具集,它支持多种编程语言(包括Python),允许开发者编写脚本来模拟用户与Web页面的交互。本文将带领读者从Selenium的基础知识出发,逐步深入到高级的应用场景,通过丰富的代码示例来展示如何高效地进行网页自动化测试。
354 5
|
24天前
|
Web App开发 设计模式 JavaScript
自动化测试之美:如何利用Selenium实现Web应用的高效测试
【10月更文挑战第29天】在软件开发的世界中,测试是确保产品质量的关键步骤。本文将带你了解如何使用Selenium这一强大的自动化测试工具,提高Web应用测试的效率和准确性。通过实际案例,我们将探索Selenium的核心功能及其在现代软件开发中的应用,旨在帮助读者掌握自动化测试的精髓,从而提升软件测试工作的整体效能。
26 0
|
2月前
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
46 0
|
23天前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
|
21天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。