【python】自动化工具Selenium与playwright去除webdriver检测


对这个世界如果你有太多的抱怨
跌倒了就不敢继续往前走
为什么人要这么的脆弱 堕落
请你打开电视看看
多少人为生命在努力勇敢的走下去
我们是不是该知足
珍惜一切 就算没有拥有
                     🎵 周杰伦《稻香》


在这里插入图片描述

# -*- coding:utf-8 -*-
import timefrom  selenium import webdriver
from selenium.webdriver.edge.service import Serviceoption = webdriver.ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation']) # 去掉webdriver提示 + 顶层窗口
option.add_argument("--disable-blink-features=AutomationControlled") # 屏蔽webdriver特征
browser = webdriver.Chrome(options=option,executable_path="/Applications/Chromium.app/Contents/MacOS/Chromium")with open('webdriver_check.js', 'r', encoding='utf-8') as f:js = f.read()browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": js})time.sleep(10000)
# -*- coding:utf-8 -*-
import timefrom playwright.sync_api import sync_playwrightdef main():# 启动Playwrightwith sync_playwright() as p:# 选择浏览器引擎(chromium、firefox、webkit)browser = p.chromium.launch(headless=False)# 创建新的浏览器上下文context = browser.new_context()# 创建新的页面page = context.new_page()with open('webdriver_check.js', 'r', encoding='utf-8') as f:js = f.read()page.add_init_script(js)# 打开网页page.goto('https://www.baidu.com/')# 在页面中查找并填写表单time.sleep(500)# 关闭浏览器browser.close()if __name__ == "__main__":main()

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

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

相关文章

C++实验 面向对象编程

一、实验目的: 掌握类中静态成员的定义方法,初始化方法,使用方法; 掌握类的友元说明方法,理解友元的使用特点 二、实验内容: 1、编写程序,统计某旅馆住宿客人的总数,要求输入客人…

毕业论文查重方法

请注意,为了确保查重结果的准确性和可靠性,建议选择官方渠道或正规平台进行查重。包括正规浏览器,同时,在使用查重服务时,也需要注意保护个人信息和论文内容的安全,避免信息泄露和侵权行为的发生。 在查重…

【Miniconda】Linux系统中 .condarc 配置文件的位置一般在哪里

【Miniconda】Linux系统中 .condarc 配置文件的位置一般在哪里 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到…

代码随想录 Day45 动态规划(背包问题)

对背包问题有了更深刻的理解,物品的遍历是背包可能要装的物品的遍历,跟多少数量有关系,而背包的遍历则跟物品的重量,背包的容量,以及价值有关。

02-Java变量和运算符

1. 基本数据类型转换(Conversion) 在Java程序中,不同的基本数据类型的值经常需要进行相互转换。Java语言所提供的七种数值类型之间可以相互转换,基本数据类型转换有两种转换方式:自动类型转换和强制类型转换。boolean…

数据库系统原理实验报告2 | 创建数据库和表

整理自博主本科《数据库系统原理》专业课自己完成的实验报告,以便各位学习数据库系统概论的小伙伴们参考、学习。 专业课本: ———— 本次实验使用到的图形化工具:Heidisql 目录 一、实验目的 二、实验内容 1、创建数据库 2、创建表 1.…

【Redis】基于Redis实现共享Session登录

用户登录是一种常用功能。这里记录一下基于Redis实现用户登录的代码。  下面是登录的流程图: 用户先提交手机号和验证码,服务器以手机号为key校验redis中存储的验证码,存在,则查询数据库中是否存在用户,不存在则创建…

Java 常用容器及其遍历方式

目录 一、List接口1. 常见实现①ArrayList②LinkedList③Vector 2. 相关方法①共同的方法②ArrayList 和 Vector 独有的方法③LinkedList 独有的方法 二、Queue接口及Deque接口1. 常见实现①LinkedList②ArrayDeque③PriorityQueue 2. 相关方法①LinkedList②ArrayDeque③Prior…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Select)

提供下拉选择菜单&#xff0c;可以让用户在多个选项之间选择。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 Select(options: Array<SelectOption>) 参数&#xff1a;…

Jmeter+Ant 接口自动化环境配置指南

一 、Jmeter安装与配置 https://blog.csdn.net/tester_sc/article/details/80746405 注&#xff1a;Jmeter5.0的环境变量配置与4.0或历往老版本有部分小差异&#xff0c;笔者用的Jmeter 5.0 二 、Ant的安装与配置 # Ant下载地址(下载到指定目录后&#xff0c;进行解压到当前…

Linux(centos)环境下安装Nginx的步骤文档

在Linux环境下安装Nginx是一个相对直接的过程&#xff0c;本篇文章将提供一个较为通用的安装指南&#xff0c;以及一些可能遇到的问题和解决方案。 目录 一、简介 二、先决条件 三、安装Nginx 1、使用包管理器安装 2、从源代码安装 四、验证安装 五、基本配置 六、常见…

NCP1271D65R2G中文资料规格书PDF数据手册引脚图参数图片价格功能特性描述

产品描述&#xff1a; NCP1271 是成功的 7 引脚电流模式 NCP12XX 系列的新一代引脚-引脚兼容新产品。该控制器通过使用可调节 Soft Skip 模式和集成的高电压启动 FET&#xff0c;实现了卓越的待机功耗。此专属 Soft Skip 还大大降低了噪音的风险。 因此可以在箝位网络中使用不…