selenium中ChromeOptions的headless(不显示页面的界面,即在后台运行)

这篇具有很好参考价值的文章主要介绍了selenium中ChromeOptions的headless(不显示页面的界面,即在后台运行)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

调用浏览器,来进行自动化测试,是一个常规操作,或者说针对少量测试用例,可以打开浏览器运行

但是针对大量运行测试用例来说,如果每个测试用例都需要调用一次 浏览器,那么无疑对服务器增加了巨大的压力

那么有没有一个办法,不调用浏览器,让浏览器在后台偷偷工作呢 ?

这个可以有: 用chrome-headless

   Chrome-headless 模式, Google 针对 Chrome 浏览器 59版 新增加的一种模式,可以让你不打开UI界面的情况下使用 Chrome 浏览器,所以运行效果与 Chrome 保持完美一致。

用法:文章来源地址https://www.toymoban.com/news/detail-587971.html

package stzz.architect.ljxwtl.cn;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

import java.time.Duration;

public class SeleniumMain {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver","/Users/stzz/Downloads/chromedriver");
        ChromeOptions chromeOptions = new ChromeOptions();
        //设置 chrome 的无头模式
        chromeOptions.addArguments("--headless");
        chromeOptions.addArguments("--disable-gpu");
        chromeOptions.addArguments("--no-sandbox");
        chromeOptions.addArguments("--disable-dev-shm-usage");
        chromeOptions.addArguments("--start-maximized");
        ChromeDriver webDriver = new ChromeDriver(chromeOptions);
        webDriver.manage().window().maximize();
        webDriver.get("http://baidu.com");

        webDriver.manage().timeouts().pageLoadTimeout(Duration.ofSeconds(10));

        WebElement userNameElement = webDriver.findElement(By.cssSelector(".pass-text-input.pass-text-input-userName"));

        userNameElement.sendKeys("XXXXXXXXXX");

        WebElement passwordElement = webDriver.findElement(By.cssSelector(".pass-text-input.pass-text-input-password"));

        passwordElement.sendKeys("XXXXXXXXXX");

        WebElement sendClickElement = webDriver.findElement(By.cssSelector(".pass-button.pass-button-submit"));
        sendClickElement.click();

    }
}

到了这里,关于selenium中ChromeOptions的headless(不显示页面的界面,即在后台运行)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium headless 无头模式慢

    selenium设置headless=True发现非常慢,headless=False要快很多。 最后测试发现升级到selenium最新版本,selenium==4.15.2。设置--headless=new,解决了,速度正常了。 新版selenium有了两种headless模式,参见:Headless is Going Away! | Selenium

    2024年02月03日
    浏览(48)
  • selenium无头模式(--headless)怎么添加使用?

    有一些兄弟姐妹执行 selenium的UI测试用例 的时候,都会出现 每次执行一条测试用例都会打开一个浏览器吧 ?是不是有时候觉得 很麻烦、不美观、占内存 ?那我们应该怎么来 解决 这个问题呢? 那就要用到 selenium里面的一个无头模式 ,具体如何使用,请往下看~~ 第一步:引

    2024年02月11日
    浏览(50)
  • js修改img的src属性显示变换图片到前端页面,img的src属性显示java后台读取返回的本地图片

    img的src属性是前端用来显示一张图片的来源,一般情况下src最常见是显示项目中resourcesstatic问价夹下的图片,或者显示公网上的图片,如果想要在前端显示本地图片那要怎么处理呢?如果直接用本地图片的地址(例如src=“D:Userstest.jpg”)前端是无法显示的。 img 是空标签,它

    2024年02月14日
    浏览(58)
  • selenium无头模式(headless)下设置窗口全屏

    目录 1.问题 2.解决办法 在正常模式下,可以通过maximize_window()函数将webdriver窗口设置为全屏显示: 但是在headless模式下,这个函数会失效,可以通过save_screenshot函数来验证。那么在无头模式下,如何使窗口最大化? 通过pyautogui来获取屏幕尺寸,然后用webdriver的add_argument()函数

    2024年02月11日
    浏览(42)
  • Selenium chrome headless模式下加载扩展的问题

    Selenium headless是比较常用的自动化测试手段,但是在很长一段时间无法加载扩展。本文将介绍Selenium chrome如何加载扩展以及headless模式下加载扩展的问题及解决方式。 推荐使用第三种方式。 另外chrome安装的插件在C:Users(username)AppDataLocalGoogleChromeUser DataDefaultExtensions 下可找

    2024年02月13日
    浏览(76)
  • Selenium webdriver的无头模式(headless)可能导致cookies内容缺失,以及解决措施

    无头模式(headless)是selenium的webdriver浏览器驱动的一项功能,允许浏览器不出现而仍可访问网页,并与之交互,这对于运行自动化测试或网络抓包大有用处,因为运行速度更快、占用资源更少。 但是笔者发现在无头模式下运行时,浏览器访问某些网站产生的cookies内容可能与

    2023年04月08日
    浏览(90)
  • Vue3.2 + TypeScript + Pinia + Vite4 + Element-Plus + 微前端(qiankun) 后台管理系统模板(已开源---显示项目页面截图)

    Wocwin-Admin,是基于 Vue3.2、TypeScript、Vite、Pinia、Element-Plus、Qiankun(微前端) 开源的一套后台管理模板;同时集成了微前端 qiankun也可以当做一个子应用。项目中组件页面使用了Element-plus 二次封装 t-ui-plus 组件,目前已新增fastmock接口。 Link:https://wocwin.github.io/wocwin-admin/ 账号:

    2024年02月08日
    浏览(82)
  • PyQt6 与 Pyecharts 交互:将鼠标点击 html 页面某点时的提示框信息在 PyQt 界面显示

    版本信息 PyQt6:6.6.1 pyqt6-tools:6.4.2.3.3 PyQt6-WebEngine:6.6.0 pyqt6 官方文档:Reference Guide — PyQt Documentation v6.6.0 在 PyQt 中,信号signal和槽slot是用来处理事件的机制。 信号是一个对象,当它被发射时,会通知所有连接的槽。槽是一个函数,当信号被发射时,它会被调用。 PyQt中常

    2024年04月26日
    浏览(44)
  • 帝国CMS后台登录界面及后台界面修改方法

    今天接到网友询问怎么修改后台登录界面及后台界面,如下图,后台登入界面和欢迎界面的logo和文字可以改成别的不,比如我想把“帝国网站管理系统”改成我自己建的网站的名字,比如“某某某网站后台”之类的! 其实这个改起来还是非常简单的,就把更改路径告诉大家

    2024年02月03日
    浏览(42)
  • vue ui页面添加依赖插件时报错,安装时vue ui界面卡顿不动,cmd显示reify:fsevents: sill reify mark deleted [‘E:\\Desktop\\..

    创建 vue 项目后添加插件 上面创建项目后,是一个空的,这里需要添加一些插件(比如:ElementUI 等,也就是利用 vue ui 界面来添加一些插件和依赖) 注意: 使用 vue ui 界面安装下面的插件和依赖时,可能会卡顿(一直卡顿): cmd 窗口也卡着不动,显示: reify:fsevents: sill re

    2024年02月04日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包