360网站免费推广怎么做/在线客服系统平台有哪些

360网站免费推广怎么做,在线客服系统平台有哪些,长春关键词seo,接网站开发做多少钱目录 引言 说明 Add_argument() 添加方式 常用参数 Add_experimental_option() 添加方式 常用方法 任务结束后仍然保持浏览器打开 禁用“Chrome 正受到自动测试软件的控制”提示 设置下载路径 禁用弹窗拦截 禁用图片加载 禁用 JavaScript 注意 引言 …

目录

引言      

说明

Add_argument()

添加方式

常用参数

Add_experimental_option()

添加方式

常用方法

任务结束后仍然保持浏览器打开

 禁用“Chrome 正受到自动测试软件的控制”提示

设置下载路径

禁用弹窗拦截

 禁用图片加载

禁用 JavaScript 

注意

引言      

          Options是selenium用来设定浏览器的一些属性和必要操作的工具。根据添加方式可以分为命令行参数,用户配置文件,扩展组件和实验性功能等。

        本文主要介绍命令行参数与实验性选项这两个Selenium在web自动化中最常用的Options设定。

说明

        在web自动化过程中命令行参数与实验性选项是最直接和灵活的一种方式,通过传递特定的字符串参数给浏览器,可以改变浏览器的启动行为。但是许多用户在使用时不知道去哪里查询这些参数。实际上,Selenium官方文档和各浏览器的官方文档都提供了详细的参数列表。以下是一些作者本人曾用到和查询过的参数。

        本文所有内容均基于Selenium官方文档和Chromium浏览器的官方文档。且所给内容适合配合selenium使用,需要注意的是,由于浏览器版本等问题,部分参数可能失效。

https://peter.sh/experiments/chromium-command-line-switches/https://peter.sh/experiments/chromium-command-line-switches/https://github.com/GoogleChrome/chrome-launcher/blob/main/docs/chrome-flags-for-tools.mdhttps://github.com/GoogleChrome/chrome-launcher/blob/main/docs/chrome-flags-for-tools.md


Add_argument()

作用:用于向浏览器启动时传递命令行参数

特点:直接修改浏览器的启动参数。

        参数是浏览器原生支持的,通常可以在浏览器的官方文档中找到。

添加方式

#selenium支持chrome edge firefox safari四种类型的浏览器
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
#其余三种类型的webdriver的Options导入
# from selenium.webdriver.chrome.options import Options
# from selenium.webdriver.firefox.options import Options
# from selenium.webdriver.safari.options import Options#向options添加命令行参数
options=Options()
options.add_argument('字符串参数')#四种类型的webdriver,options需要与其导入时的webdriver类型一致
#否则打开的webdriver为options所属
browser=webdriver.Edge((options=options)
# browser=webdriver.ChromiumEdge(options=options)
# browser=webdriver.Chrome(options=options)
# browser=webdriver.Firefox(options=options)
# browser=webdriver.Safari(options=options)

        这里需要注意的是,若你使用Edge的webdriver来进行自动化的话,那么webdriver使用ChromiumEdge与Edge以及Options使用edge.options都可以,因为Edge本身是基于chromium内核的。 

常用参数

--allow-external-pages 允许在 Web 测试期间访问外部页面。
--auto-accept-camera-and-microphone-capture 绕过提示用户提供拍摄摄像头和麦克风权限的对话框(自动接受)。在视频会议或其他涉及到调用摄像头和麦克风权限 Web 应用程序自动测试中有用。
--auto-accept-this-tab-capture此标志使 Chrome 自动接受/拒绝捕获当前标签页的请求。只应用于测试
--auto-grant-captured-surface-control-prompt跳过 Captured Surface Control 的权限提示
--auto-open-devtools-for-tabs自动打开当前Webdriver内每个网站标签页的开发者工具

--autoreplay-policy=no-replay

--autoreplay-policy=default

--autoreplay-policy=replayable-only

用于设置浏览器在遇到网络错误时的重试策略,即测试网络请求失败时的页面行为。

default:默认值。重试一次。

no-replay:禁用自动重试,遇到网络错误时直接失败。

replayable-only仅对可重试的请求(如 GET 请求)进行重试,而对非重试请求(如 POST 请求)则直接失败。

--bypass-installable-message-throttle-for-testing

绕过 PWA(Progressive Web App)安装提示的节流机制。

--disable-auto-reload 禁用错误页面的自动重新加载。
--disable-background-media-suspend 不要立即暂停后台选项卡中正在播放的媒体。
--disable-gpu禁用 GPU 硬件加速。如果未安装软件渲染器,则 GPU 进程不会启动。在无头模式下用到。
--disable-input-event-activation-protection

Chromium 浏览器有一个内置的保护机制,用于防止某些输入事件(如点击)被意外触发。例如:

防止页面在加载过程中意外触发点击事件。

防止广告或弹窗拦截用户的点击操作。

该命令行的作用是 禁用这种保护机制,允许输入事件(如点击)在任何情况下都能触发。

--disable-audio-output禁用音频输出。浏览器不会播放任何声音,即使网页中包含音频或视频内容
--disable-pdf-plugin禁用内置的 PDF 插件,使用外部程序打开 PDF。
--disable-virtual-keyboard禁用网页内的虚拟键盘。
--disable-volume-adjust-sound禁用音量调整提示音,调整音量时'嘟'的声音不再出现。
--disable-blink-features=AutomationControlled禁用自动化控制相关的 Blink 功能。以此来绕过反自动化检测,防止网站限制
--disable-blink-feature=PreferHtmlOverPlugins强制使用 HTML5 内容,避免依赖过时的插件。如果Flash。

--disable-cookies

禁用所有cookie。

--disable-third-party-cookie

禁用第三方 cookie。
--disable-translate禁用自动翻译。
--disable-infobars禁用信息栏(包括自动化提示栏)
--disable-geolocation禁用地理位置。
--disable-extentions禁用浏览器扩展。
--disable-popup-blocking禁用窗口弹出拦截功能。
--disable-logging禁用浏览器日志记录功能。
--deny-permission-promptswebdriver会自动拒绝所有权限请求,包括地理位置、摄像头、麦克风、通知等。
--enable-auto-reload当浏览器检测到页面内容发生变化(如文件修改)时,会自动刷新页面。
--enable-automation --enable-automation 参数通常与 excludeSwitches 一起使用,以隐藏自动化提示栏。
--enable-logging启用浏览器日志记录功能。

--enable-features=ParallelDownloading

启用文件并行下载功能,提升下载速度。

--enable-strict-mixed-content-checking

启用严格的混合内容检查,阻止不安全的 HTTP 资源加载,增强网页安全性。

--enable-features=IsolateOrigins

启用源隔离功能,进一步隔离不同源的网页内容,增强网页安全性和隐私保护。

--enable-site-per-process

启用站点隔离功能,每个站点运行在独立的进程中,增强网页安全性和稳定性。
--force-media-suspend强制暂停媒体播放。
--force-device-scale=1.5

强制设置设备的缩放比例为150%。

--force-dark-mode强制启用深色模式,网站需要支持深色模式才有用。
--guest访客模式,此时webdriver收藏夹不可用,且不保存浏览记录。
--headless开启无头模式

--ignore-ssl-errosr

忽略ssl错误

--ignore-certificate-errors

忽略证书错误
--mute-audio禁用所有音频,浏览器不会播放任何声音,即使网页中包含音频或视频内容。
--no-sandbox禁用沙箱模式,通常在无头模式下使用
--proxy-server添加代理
--start-maximizedwebdriver启动时窗口最大化
--start-fullscreenwebdriver启动后开启全屏模式(按下F11)
--user-agent伪装不同设备上的浏览器,绕过某些网站对特定浏览器或设备的访问限制。
--window-position=x轴横坐标,y轴横坐标 

设定打开的webdriver的窗口位置 

--window-size=height,width

设定打开的webdriver的窗口大小

说明:上表参数只需要按照字符串的格式加上引号之后直接复制粘贴到add_argument方法内,webdriver启动后便会带有相应的特性,如无响应可能是浏览器版本问题。


Add_experimental_option()

作用:用于设置浏览器的实验性选项或偏好设置(preferences)。

特点:通常用于修改 webdriver的 prefs 或 excludeswitches等实验性选项。

         这些选项不全是浏览器原生支持的,部分需要通过 Selenium 提供的接口来设置的。

添加方式

与add_argument导入方式一致,唯一区别在于使用的是add_experimental_option()方法,且使用方法较为灵活。

#selenium支持chrome edge firefox safari的四种类型的浏览器
from selenium import webdriver
from selenium.webdriver.edge.options import Options
#其余三种类型的webdriver的Options导入
# from selenium.webdriver.chrome.options import Options
# from selenium.webdriver.firefox.options import Options
# from selenium.webdriver.safari.options import Options
#向options添加命令行参数
options=Options()
options.add_experimental_option()#四种类型的webdriver,options需要与其导入时的webdriver类型一致
#否则打开的webdriver为options所属
browser=webdriver.Edge(options=options)
# browser=webdriver.ChromiumEdge(options=options)
# browser=webdriver.Chrome(options=options)
# browser=webdriver.Firefox(options=options)
# browser=webdriver.Safari(options=options)

常用方法

任务结束后仍然保持浏览器打开

options.add_experimental_option('detach',True)

        将 detach 参数设置为 true后, 只要不向driver发送quit命令, 就可以在任务结束后仍然保持浏览器打开。

 禁用“Chrome 正受到自动测试软件的控制”提示

options.add_experimental_option("excludeSwitches", ["enable-automation"])  # 禁用自动化提示
options.add_experimental_option("useAutomationExtension", False)  # 禁用自动化扩展

设置下载路径

prefs = {"download.default_directory": "/path/to/download",  # 设置下载路径"download.prompt_for_download": False,  # 禁用下载提示"download.directory_upgrade": True,  # 允许下载路径升级"profile.default_content_setting_values.automatic_downloads": True  #允许多文件下载"safebrowsing.enabled": True  # 启用安全浏览
}
options.add_experimental_option("prefs",prefs)

禁用弹窗拦截

prefs = {"profile.default_content_setting_values.popups": 1  # 允许弹窗
}
options.add_experimental_option("prefs",prefs)

 禁用图片加载

prefs = {"profile.managed_default_content_settings.images": 2  # 2 表示禁用图片加载
}
options.add_experimental_option("prefs",prefs)

禁用 JavaScript 

prefs = {"profile.managed_default_content_settings.javascript": 2  # 2 表示禁用 JavaScript
}
options.add_experimental_option("prefs",prefs)

远程连接已经打开的浏览器

options.add_experimental_option('debuggerAddress','IP地址')

注意

        当我们向webdriver中传入options时,应该保证导入的Options所属的webdriver与所使用的webdriver一致,否则打开的webdriver以Options所属为准。

比如:我们的webdriver为Edge,Options从chrome导入


from selenium import webdriver
from selenium.webdriver.chrome.options import Options#导入chrome浏览器的Options类
options=Options()
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_argument('--disable-logging')
options.add_argument('--ignore-ssl-errosr')#忽略ssl错误
options.add_argument('--ignore-certificate-errors')#忽略证书错误
options.add_experimental_option('excludeSwitches', ['enable-logging'])#禁用日志
options.add_experimental_option('excludeSwitches',['enable-automation'])#隐藏自动化控制
options.add_experimental_option('detach',True)
browser=webdriver.Edge(options)#使用Edge webdriver
browser.get('https://bot.sannysoft.com/')

启动的是chrome的webdriver 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/70773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI提示词的种类与适合的任务

以下是提示词的主要种类及其适用任务,基于大模型特性与最佳实践总结: 一、基础提示词 零样本提示(Zero-shot Prompting) 形式:直接输入任务指令,不提供示例(如“翻译以下句子:Hello …

FTP 实验(ENSP模拟器实现)

目录 FTP 概述 FTP实验 FTP的报文交互 FTP 概述 FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上进行文件传输的标准协议。它允许用户在两台计算机之间上传和下载文件。 1、FTP采用客户端-服务器模型,客户端通过…

Windows前端开发IDE选型全攻略

Windows前端开发IDE选型全攻略 一、核心IDE对比矩阵 工具名称最新版本核心优势适用场景推荐指数引用来源VS Code2.3.5轻量级/海量插件/跨平台/Git深度集成全栈开发/中小型项目⭐⭐⭐⭐⭐14WebStorm2025.1智能提示/框架深度支持/企业级调试工具大型项目/专业前端团队⭐⭐⭐⭐47…

鸿蒙5.0实战案例:har和hsp的转换

往期推文全新看点(文中附带全新鸿蒙5.0全栈学习笔录) ✏️ 鸿蒙(HarmonyOS)北向开发知识点记录~ ✏️ 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ ✏️ 鸿蒙应用开发与鸿蒙系统开发哪个更有前景&#…

SAP-ABAP:使用ST05(SQL Trace)追踪结构字段来源的步骤

ST05 是 SAP 提供的 SQL 跟踪工具,可以记录程序运行期间所有数据库操作(如 SELECT、UPDATE、INSERT)。通过分析跟踪结果,可以精准定位程序中结构字段对应的数据库表。 步骤1:激活ST05跟踪 事务码 ST05 → 点击 Activa…

【落羽的落羽 数据结构篇】树、二叉树

文章目录 一、树1. 树的概念和结构2. 树的相关术语 二、二叉树1. 概念与结构2. 满二叉树3. 完全二叉树4. 二叉树的性质5. 二叉树的存储结构 一、树 1. 树的概念和结构 之前我们学习了线性表,今天我们再来接触一种全新的数据结构——树。 树是一种非线性的数据结构…

CPU、MCU、MPU、SOC、DSP、ECU、GPU、FPGA傻傻分不清楚?一文讲清它们的区别

文章目录 前言一、定义与功能1、CPU(Central Processing Unit,中央处理器)2、MCU(Microcontroller Unit,微控制单元)3、MPU(Microprocessor Unit,微处理器)4、SOC&#x…

网络安全学习-常见安全漏洞检测以及修复方法-1

渗*透测试 渗透测试就是模拟攻击者入侵系统,对系统进行一步步渗透,发现系统的脆弱环节和隐藏风险。形成测试报告提供给系统的所有者,所有者根据报告对系统进行加固,提升系统的安全性,防止真正的攻击者入侵。 渗透测试…

JVM之JVM的组成

Java 虚拟机(JVM)是 Java 程序的运行核心,它主要由类加载系统、运行时数据区、执行引擎和本地方法接口这几个关键部分组成。 类加载系统(Class Loading System) 类加载系统负责在程序运行时动态地将 Java 类加载到 J…

个人简历html网页模板,科技感炫酷html简历模板

炫酷动效登录页 引言 在网页设计中,按钮是用户交互的重要元素之一。这样一款黑色个人简历html网页模板,科技感炫酷html简历模板,设计效果类似科技看板图,可帮您展示技能、任职经历、作品等,喜欢这种风格的小伙伴不要犹豫哦。该素材呈现了数据符号排版显示出人形的动画效…

java后端开发day18--学生管理系统

(以下内容全部来自上述课程) 1.业务分析并搭建主菜单 1.需求 采取控制台的方式去书写学生管理系统 2.分析 1.初始菜单 2.学生类 属性:id,姓名,年龄,家庭住址 3.添加功能 键盘录入每一个学生信息并…

记录一次部署PC端网址全过程

当我查看我之前写的文章时、顿时惊奇发出感慨:啥时候写的?是我写的么?疑惑重重… 所以说,好记性不如烂笔头。 记录一次部署PC端网址全过程 部署PC端网址分是三步:第一步:申请域名并映射到外网IP &#xff0…

本地大模型编程实战(22)用langchain实现基于SQL数据构建问答系统(1)

使 LLM(大语言模型) 系统能够查询结构化数据与非结构化文本数据在性质上可能不同。后者通常生成可在向量数据库中搜索的文本,而结构化数据的方法通常是让 LLM 编写和执行 DSL(例如 SQL)中的查询。 我们将演练在使用基于 langchain 链 &#x…

最好的Git实践指南(Windows/Linux双系统详解)

Git最佳实践指南:从入门到熟练(Windows/Linux双系统详解) 一、环境搭建与基础配置(适用Windows/Linux) 1.1 Git安装与验证 # Windows系统安装(推荐Chocolatey包管理) # 直接下载git二进制文件…

Python零基础学习第二天(条件语句,循环语句)

Python零基础学习第二天:流程控制与模块导入 一、流程控制结构 1. 条件语句(if, elif, else) 条件语句用于根据不同的条件执行不同的代码块。基本形式如下: if 条件1: # 当条件1为True时执行这里的代码 elif 条件2: # 当前面的条…

从零开始用react + tailwindcs + express + mongodb实现一个聊天程序(三) 实现注册 登录接口

1.划分文件夹 在src目录下创建controllers middleware models routes controllers 放具体的方法 signup login middleware 里面是中间件 请求的验证 models 放对象实体 routes 处理访问路径像/signup /login 等等 2. 接口开发 系统的主要 有用户认证 和 消息 2种类型…

MOE结构解读和deepseek的MoE结构

不管dense还是MoE(Mixture of Experts)都是基于transformer的。 下面回顾下解码器块的主要架构: 注意力机制-层归一化&残差连接-FFN前馈神经网络-层归一化&残差连接。 dense模型是沿用了这个一架构,将post-norm换为pre-no…

第九节: Vue 3 中的 provide 与 inject:优雅的跨组件通信

文章目录 前言什么是 provide 和 inject?provide 的基本使用inject 的基本使用provide 提供响应式数据数据provide 提供修改数据的方法provide 提供只读响应数据provide 使用symbol作为注入名inject 默认值总结 前言 在 Vue 3 中,provide 和 inject 是一…

微信小程序-二维码绘制

wxml <view bindlongtap"saveQrcode"><!-- 二维码 --><view style"position: absolute;background-color: #FFFAEC;width: 100%;height: 100vh;"><canvas canvas-id"myQrcode" style"width: 200px; height: 200px;ba…

Linux系统中ssh远程登录协议

目录 一、SSH协议概述 二、SSH协议工作原理 三、ssh服务与配置文件 3.1、openssh 3.2、ssh命令 3.3、服务端配置 四、基于密钥验证的免交互登录 4.1、客户端生成密钥 4.2、将公钥拷贝至服务器 4.3、验证免密登录 一、SSH协议概述 SSH&#xff08;Secure Shell&#x…