自动化进阶之路,selenium中webdriver的ChromeOptions参数说明

这篇具有很好参考价值的文章主要介绍了自动化进阶之路,selenium中webdriver的ChromeOptions参数说明。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

可使用ChromeOptions()实现谷歌浏览器一系列功能:

from selenium.webdriver.chrome.options import Options
option = Options()
#在打开浏览器之前,去掉自动化标识
option.add_experimental_option('excludeSwitches', ['enable-automation'])

常见不需要的浏览器功能:
–disable-client-side-phishing-detection:禁用客户端网络钓鱼检测
–disable-component-extensions-with-background-pages:禁用一些不受影响的内置扩展–disable-extensions
–disable-default-apps:禁用默认应用程序的安装
–disable-extensions:禁用所有 chrome 扩展
–disable-features=InterestFeedContentSuggestions:禁用 NTP 上的发现源
–disable-features=Translate:禁用 Chrome 翻译,包括手动选项和检测到不同语言的页面时弹出的提示。
–hide-scrollbars:在屏幕截图中隐藏滚动条。
–mute-audio:将所有音频静音
–no-default-browser-check:禁用默认浏览器检查,不提示进行这样的设置
–no-first-run:跳过首次运行向导

任务节流:
–disable-background-timer-throttling:禁用在后台页面/选项卡中限制计时器
–disable-backgrounding-occluded-windows:通常,如果周围的窗口被另一个窗口遮挡(也称为视觉上覆盖),Chrome 会将“前景”选项卡视为背景选项卡。该标志禁用该功能。
–disable-features=CalculateNativeWinOcclusion:禁用以下功能:将来将使用 Windows 上的计算窗口遮挡来限制并可能卸载遮挡窗口中的前景选项卡。
–disable-hang-monitor:禁止渲染器进程中挂起监视器对话框。此标志可能允许页面上的缓慢卸载处理程序以防止选项卡关闭。
–disable-ipc-flooding-protection:一些 javascript 函数可用于通过 IPC 淹没浏览器进程。默认情况下,保护处于打开状态,将发送的 IPC 数量限制为每帧每秒 10 个。该标志禁用它。
–disable-renderer-backgrounding:这会禁止非前台选项卡获得较低的进程优先级。这不会(就其本身而言)影响计时器或绘画行为。

网络平台行为:
–aggressive-cache-discard:缓存丢弃
–allow-running-insecure-content:允许运行不安全内容
–disable-back-forward-cache:禁用 BackForwardCache 功能。
–disable-features=AcceptCHFrame:禁用接受 h2/h3 ACCEPT_CH客户端提示帧。
–disable-features=AutoExpandDetailsElement:于2022 年 9 月删除。
–disable-features=AvoidUnnecessaryBeforeUnloadCheckSync:如果启用,此功能会导致浏览器进程仅在知道已注册此类处理程序时才要求渲染器进程运行 beforeunload 处理程序。对于kAvoidUnnecessaryBeforeUnloadCheckSync,内容不会报告存在 beforeunload 处理程序。其后果是,通常会在继续之前检查 beforeunload 处理程序的导航不会,并且导航将同步继续。
–disable-features=BackForwardCache:禁用bfcache。
–disable-features=HeavyAdPrivacyMitigations
–disable-features=IsolateOrigins
–disable-features=LazyFrameLoading
–disable-features=ScriptStreaming:V8脚本流
–enable-precise-memory-info:使返回到 window.performance.memory 的值在共享工作线程中更加细化和更新。如果没有此标志,内存信息仍然可用,但它会被分桶并更新得不那么频繁。该标志也适用于工人。
–js-flags=–random-seed=1157259157:用固定种子初始化V8的RNG。
–use-fake-device-for-media-stream:使用假媒体流设备来代替摄像头和麦克风
–use-fake-ui-for-media-stream:通过选择媒体流的默认设备(例如WebRTC)来绕过媒体流信息栏。与 --use-fake-device-for-media-stream 一起使用。
–use-file-for-fake-video-capture=:使用文件进行虚假视频捕获(.y4m 或 .mjpeg) 需要–use-fake-device-for-media-stream

交互抑制:
–autoplay-policy=…user-gesture-required:不自动播放视频的值。no-user-gesture-required始终自动播放视频的值。
–deny-permission-prompts:通过自动拒绝来抑制所有权限提示。
–disable-external-intent-requests:禁止在外部应用程序中打开链接
–disable-features=GlobalMediaControls:隐藏可打开用于控制媒体会话的对话框的工具栏按钮。
–disable-features=ImprovedCookieControls:禁用改进的 UI,以便在隐身模式下阻止第三方 cookie。
–disable-notifications:禁用 Web 通知和推送 API。
–disable-popup-blocking:禁用弹出窗口阻止。–block-new-web-contents是这个的严格版本。
–disable-prompt-on-repost:重新加载来自 POST 的页面通常会提示用户。
–noerrdialogs:抑制所有存在的错误对话框。

自动化设置:
–enable-automation:禁用一些被认为不适合自动化的功能。(原始设计文档,虽然在这里重命名)codesearch。请注意,某些项目选择避免使用此标志:web-platform-tests/wpt/#6348、
设置window.navigator.webdriver为true所有 JS 上下文中。使用 --headless,–remote-debugging-pipe和–remote-debugging-port=0(是的,特别是0 )时也会设置此值。
禁用有关运行开发/解压扩展的气泡通知(来源)
禁用密码保存 UI(涵盖已失效 标志的用例–disable-save-password-bubble)
禁用信息栏动画(来源)
禁用网络错误时的自动重新加载(来源)
启用 CDP 方法Browser.getBrowserCommandLine。
避免显示这 4 个信息栏:ShowBadFlagsPrompt、GoogleApiKeysInfoBarDelegate、ObsoleteSystemInfoBarDelegate、LacrosButterBar
添加此信息栏:webdriver.chromeoptions,web自动化,自动化,selenium,运维,python
已知会对屏幕截图产生不利影响。

–test-type:基本上是 2014 年版本–enable-automation。
它避免在 Mac 上的 ~/Applications 中创建应用程序存根。
它使退出代码稍微更正确
Windows 导航跳转列表未更新
不启动一些 chrome StartPageService
禁用初始化 chromecast 服务
“在测试期间不会启用带有后台页面的组件扩展,因为它们会生成大量可能干扰的后台行为。”
退出浏览器时,它会禁用可能停止退出过程的其他检查。(例如未保存的表单修改或未处理的个人资料通知…)
–remote-debugging-pipe:比通过 websocket 使用协议更安全
–remote-debugging-port=…:值为 0 时,Chrome 将自动选择可用端口并设置navigator.webdriver为true。
–silent-debugger-extension-api:当 Chrome 扩展程序使用页面附加到页面时,不显示信息栏chrome.debugger。需要附加到扩展背景页面。

常规:
–enable-logging=stderr:日志记录行为稍微更适合服务器类型的进程。
–log-level=0: 0 表示 INFO 及更高。2是最冗长的。专业提示:使用–enable-logging=stderr --v=2后,您可能会发现您可能想要禁用的其他活动组件。
–user-data-dir=…:浏览器存储用户配置文件的目录。

后台联网:
–disable-background-networking:禁用各种后台网络服务,包括扩展更新、安全浏览服务、升级检测器、翻译、UMA
–disable-breakpad:禁用故障转储收集(Chromium 中已禁用报告)
–disable-component-update:不要更新 chrome://components/ 中列出的浏览器“组件”
–disable-domain-reliability:禁用域可靠性监控,该监控会跟踪浏览器是否难以联系 Google 拥有的网站并向 Google 上传报告。
–disable-features=AutofillServerCommunication:禁用(主要用于密封测试)自动填充服务器通信。自动填充服务器的 URL 可以通过 autofill-server-url 参数进一步控制。给定的 URL 应指定完整的自动填充服务器 API URL,直至“查询”和“上传”资源的父“目录”。
–disable-features=CertificateTransparencyComponentUpdater
–disable-sync:禁用同步到 Google 帐户
–enable-crash-reporter-for-testing:用于在调试环境中打开 Breakpad 崩溃报告,其中崩溃报告通常被编译但被禁用。
–metrics-recording-only:禁用向 UMA 报告,但允许收集
–disable-features=OptimizationHints:禁用Chrome优化指南及其服务API的网络
–disable-features=MediaRouter:禁用Chrome Media Router,它会创建一些后台网络活动来发现可投射目标。
–no-pings:不发送超链接审核 ping
渲染和 GPU:
–allow-pre-commit-input:允许在提交帧之前处理输入。被无头使用。
–deterministic-mode:实验性元标志。这设置了以下缩进标志,这些标志将浏览器置于渲染(边框半径等)是确定性的模式,并且应通过 DevTools 协议发出开始帧。
–run-all-compositor-stages-before-draw
–disable-new-content-rendering-timeout
–enable-begin-frame-control
–disable-threaded-animation
–disable-threaded-scrolling
–disable-checker-imaging
–disable-image-animation-resync
–disable-features=PaintHolding:不要推迟绘制提交(通常用于避免无样式内容的闪烁)
–disable-partial-raster: 禁用此功能可以提高图像渲染的准确性和质量,但可能会增加处理时间和资源消耗。
–disable-skia-runtime-opts:不要在 Skia 中使用运行时检测的高端 CPU 优化。
–in-process-gpu:通过将 GPU 进程移至浏览器进程线程来节省一些内存
–use-gl=“swiftshader”:选择 GPU 进程应使用哪种 GL 实现。选项有:desktop:用户安装的任何桌面 OpenGL(Linux 和 Mac 默认)。egl:用户安装的任何 EGL / GLES2(Windows 默认 - 实际上是 ANGLE)。swiftshader:SwiftShader 软件渲染器。

窗口和屏幕管理:
–block-new-web-contents:所有弹出窗口和对 window.open 的调用都会失败。
–force-color-profile=srgb:强制将所有显示器视为具有指定的颜色配置文件。
–new-window:在新浏览器窗口中启动 URL。
–window-position=0,0:指定初始窗口位置:–window-position=x,y
–window-size=1600,1024:设置初始窗口大小。以字符串形式提供,格式为“800,600”。

流程管理:
–disable-features=DestroyProfileOnBrowserClose:禁用以下功能:在最后一个浏览器窗口关闭时(而不是浏览器退出时)销毁配置文件。
–disable-features=site-per-process:禁用 OOPIF。
–no-service-autorun:禁止服务进程将自身添加为自动运行进程。这不会删除现有的自动运行注册,它只是阻止服务注册新的自动运行注册。
–process-per-tab:没有做任何事情。使用 --single-process 代替。
–single-process:在与浏览器相同的进程中运行渲染器和插件。

无头模式:
–headless:以无头模式运行,即没有 UI 或显示服务器依赖项。
–headless=new:新的原生无头模式。(之前,–headless=chrome)
–no-sandbox:有时与 headless 一起使用,但不推荐。
–disable-dev-shm-usage:常用于Lambda、Cloud Functions场景。(
–disable-gpu:经常与 一起使用–headless,但从 2021 年开始,不再需要。文章来源地址https://www.toymoban.com/news/detail-768733.html

到了这里,关于自动化进阶之路,selenium中webdriver的ChromeOptions参数说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 浏览器自动化脚本 Selenium WebDriver 快速入门

    2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客 文章浏览阅读2.7k次,点赞85次,收藏12次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、

    2024年03月09日
    浏览(73)
  • Python+Selenium.webdriver实现WEB端UI自动化测试(实例脚本)

            本篇记录基于Python+Selenium.webdriver实现WEB端UI自动化测试,其中测试用例使用excel维护。为了在实际项目种的扩展应用,建议学习webdriver的元素定位方法,欢迎在评论区沟通讨论。 该示例选取的是登录页不需要输入验证码校验的基础页面(考虑到现在大部分项目都是

    2023年04月08日
    浏览(55)
  • selenium+python自动化测试之使用webdriver操作浏览器的方法

    WebDriver简介 selenium从2.0开始集成了webdriver的API,提供了更简单,更简洁的编程接口。selenium webdriver的目标是提供一个设计良好的面向对象的API,提供了更好的支持进行web-app测试。从这篇博客开始,将学习使用如何使用python调用webdriver框架对浏览器进行一系列的操作 打开浏览

    2024年01月25日
    浏览(59)
  • Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

    基本于Python语言 和 Selenium框架,使用PyCharm 开发环境,详细介绍自动化测试环境的搭建 以及 基本的使用方法。 Python环境目前已被大部分主流操作系统所支持,比如在Linux、Mac、Unix等系统上就自带了Python环境,但在Windows系统上目前还需要自己安装,(当然如已经安装过了的话

    2024年02月03日
    浏览(67)
  • 【测试开发之路】Java & Selenium自动化

    1、Selenium介绍 ​ 使用前需要下载浏览器对应的Driver,Selenium提供了EdgeDriver和ChromiumDriver两种驱动类。需要安装与本机浏览器版本相同的驱动。 ​ EdgeDriver下载地址:Microsoft Edge WebDriver - Microsoft Edge Developer ​ ChromiumDriver下载地址:CNPM Binaries Mirror (npmmirror.com) 2、导入Maven库 (

    2024年02月12日
    浏览(46)
  • Selenium之路: UI自动化测试的必备指南

    自动化测试指软件测试的自动化,可以使用软件工具或脚本来执行测试任务的过程,以替代人工进行重复性、繁琐或耗时的测试活动;是将人为驱动的测试行为转化为机器执行的过程 。 自动化测试包括 UI 自动化,接口自动化,单元测试自动化。 Selenium 是 Web 应用中基于 UI

    2024年04月22日
    浏览(61)
  • Web自动化测试:selenium的使用以及关于driver=webdriver.Firefox()无驱动报错问题

    Selenium是一个用于Web应用程序测试的工具。 主流的自动化测试工具有: web自动化测试:selenium、robot framework App端自动化测试:Appium、Monkeyrunner、UIautomation PC客户端(win32)自动化测试:QTP 接口自动化测试:Jmeter、Postman、httpUnit、RESTClient 云测平台:Testin Testbird 性能测试:Jm

    2024年02月09日
    浏览(70)
  • Python之路:网络工程师的自动化进阶(第2版)

    💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】 🤟 基于Web端打造的:👉轻量化工具创作平台 💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 I. 引言 随着网络技术的不断发展,网络工程师的角色已经不再局限于传统的操作和维护。自动化成为提高

    2024年02月04日
    浏览(52)
  • 曲鸟全栈UI自动化教学(四):Selenium工作原理及Webdriver对浏览器的配置和操作

    上篇文章我们学习了Selenium页面操作原理及如何高效的进行元素定位 那Selenium的工作原理又是什么?是如何驱动浏览器的呢?这篇文章为你讲解Selenium工作原理及Webdriver对浏览器的配置和操作。 Python测试交流群:8140 78962 Selenium进行自动化测试主要依赖三项: 测试脚本(你写的代

    2024年02月16日
    浏览(47)
  • selenium自动化测试中,避免频繁更新浏览器driver的解决方案:webdriver-manager

            大家在本地进行web自动化脚本调试时候是不是会遇到driver的版本和浏览器不一致导致用例无法执行的问题,是否需要过下载driver需要百度的问题,下载了driver后不能开启浏览器自动更新的问题。现在有一种解决方案可以很好的帮助大家解决上述问题。         w

    2024年02月09日
    浏览(65)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包