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

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

相关文章
|
2天前
|
JavaScript 前端开发 测试技术
《手把手教你》系列技巧篇(四十八)-java+ selenium自动化测试-判断元素是否可操作(详解教程)
【5月更文挑战第12天】本文介绍了WebDriver中用于判断元素状态的三个方法:`isEnabled()`、`isSelected()`和`isDisplayed()`。`isSelected()`检查元素是否被选中,通常用于勾选框。`isDisplayed()`则用来判断元素是否在页面上可见。`isEnabled()`方法确定元素是否可操作,例如是否能点击或输入内容。
11 1
|
3天前
|
存储 JavaScript Java
《手把手教你》系列技巧篇(四十七)-java+ selenium自动化测试-判断元素是否显示(详解教程)
【5月更文挑战第11天】WebDriver 的 `isDisplayed()` 方法用于检查页面元素是否可见,如果元素存在于DOM中且可视,返回`true`,否则返回`false`。在自动化测试中,这个方法常用于验证元素是否真正显示在页面上。示例代码展示了如何使用 `isDisplayed()` 判断百度登录页面的特定错误提示文字是否出现。
14 1
|
4天前
|
JavaScript Java 测试技术
《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)
【5月更文挑战第10天】本文介绍了使用Java和Selenium进行Web自动化测试的实践,以安居客网站为例。最后,提到了在浏览器开发者工具中调试和观察页面元素的方法。
14 2
|
4天前
|
敏捷开发 测试技术 持续交付
深入理解自动化测试框架:以Selenium为例
【5月更文挑战第16天】 随着软件行业的迅猛发展,质量保障变得愈加重要。自动化测试作为确保软件质量的重要环节,其效率和可靠性受到了广泛关注。本文旨在深入探讨自动化测试框架的构建与优化,特别是以Selenium框架为例,分析其在实际应用中的优势、常见问题以及解决方案。通过具体案例分析,揭示如何提高自动化测试的稳定性和灵活性,从而更好地服务于敏捷开发和持续集成流程。
20 5
|
4天前
|
Web App开发 JavaScript 测试技术
《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)
【5月更文挑战第9天】本文介绍了在Appium中处理App自动化测试中遇到的Toast元素定位的方法。Toast在Web UI测试中也常见,通常作为轻量级反馈短暂显示。文章提供了两种定位Toast元素的技巧.
11 0
|
6天前
|
前端开发 Java 测试技术
selenium+python自动化测试--登录
selenium+python自动化测试--登录
14 2
|
6天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
6天前
|
数据采集 机器学习/深度学习 算法框架/工具
利用Python实现基于图像识别的自动化数据采集系统
本文介绍了如何利用Python编程语言结合图像识别技术,构建一个自动化的数据采集系统。通过分析图像内容,实现对特定信息的提取和识别,并将其转化为结构化数据,从而实现高效、准确地采集需要的信息。本文将详细讨论系统的设计思路、技术实现以及应用场景。
|
6天前
|
Web App开发 Python
在ModelScope中,你可以使用Python的浏览器自动化库
在ModelScope中,你可以使用Python的浏览器自动化库
18 2
|
3天前
|
数据采集 Java 开发工具
一文2500字从0到1教你搭建Android自动化python+appium环境
一文2500字从0到1教你搭建Android自动化python+appium环境
一文2500字从0到1教你搭建Android自动化python+appium环境