Selenium 与 Firefox 88 对 navigator.webdriver 进行了更改

2024-01-08

最新版本的 Firefox 88 包括bug fix https://bugzilla.mozilla.org/show_bug.cgi?id=1632821如果浏览器通过 marionette 协议运行,则用户无法将 navigator.webdriver 属性设置为 false。不幸的是,如果站点使用 Cloudflare 的 DDOS 保护之类的服务(该服务会检查远程浏览器上的属性并陷入无限循环而不是重定向到所请求的页面),那么这实际上会导致某些 Web 抓取活动无法进行。

现在有人知道替代方法吗?

profile.set_preference("dom.webdriver.enabled", False)

or

profile.set_preference("useAutomationExtension", False)

现在有没有效果?

具体来说,我将 Selenium 与 Python 绑定一起使用,但我想使用任何框架的解决方法都可以适用于我的情况。


我尝试向 Firefox 添加扩展,该扩展会在加载任何其他脚本之前覆盖 navigator.webdriver。看起来它不仅与 navigator.webdriver 有关,还与其他东西有关。

我在 document_start 上执行了以下代码

script = document.createElement("script"); script.type = 'text/javascript'; script.id = "scripttttttt"; script.innerHTML = "Object.defineProperty(navigator, 'webdriver', {get: () => undefined});document.getElementById('scripttttttt').remove();"; document.documentElement.prepend(script);

这足以打开https://ebay-kleinanzeigen.de/m-einloggen.html https://ebay-kleinanzeigen.de/m-einloggen.html但还不足以登录 Google 帐户。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium 与 Firefox 88 对 navigator.webdriver 进行了更改 的相关文章

  • 为什么 Selenium RC 这么慢?

    一段时间以来 我一直在研究 Selenium RC 以便对我的 Web 应用程序进行功能测试 我现在发现了一种非常有效的测试策略 以至于我不想放弃 Selenium RC 在花了数周时间试图找到一种验证 ASP NET 验证控件的好方法之后
  • 更改自动插入 tkinter 小部件的文本颜色

    我有一个文本框小部件 其中插入了三条消息 一条是开始消息 一条是结束消息 一条是在 单位 被摧毁时发出警报的消息 我希望开始和结束消息是黑色的 但被毁坏的消息 参见我在代码中评论的位置 插入小部件时颜色为红色 我不太确定如何去做这件事 我看
  • Python 多处理示例不起作用

    我正在尝试学习如何使用multiprocessing但我无法让它发挥作用 这是代码文档 http docs python org 2 library multiprocessing html from multiprocessing imp
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 从列表中的数据框列中搜索部分字符串匹配 - Pandas - Python

    我有一个清单 things A1 B2 C3 我有一个 pandas 数据框 其中有一列包含用分号分隔的值 某些行将包含与上面列表中的一项的匹配 它不会是完美的匹配 因为它在其中包含字符串的其他部分 该列 例如 该列中的一行可能有 哇 这里
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 如何在selenium服务器上提供自定义功能?

    我知道可以通过某种方法获得一些硒功能 其中之一如下 driver getCapabilities getBrowserName 它返回浏览器名称的值 但如果它指的是一个可用的方法 如果我没有误解的话 这似乎与自定义功能有关 就像我的意思是
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • Python 3 中“map”类型的对象没有 len()

    我在使用 Python 3 时遇到问题 我得到了 Python 2 7 代码 目前我正在尝试更新它 我收到错误 类型错误 map 类型的对象没有 len 在这部分 str len seed candidates 在我像这样初始化它之前 se
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 在Python中重置生成器对象

    我有一个由多个yield 返回的生成器对象 准备调用该生成器是相当耗时的操作 这就是为什么我想多次重复使用生成器 y FunctionWithYield for x in y print x here must be something t
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • C fopen模式参数

    为什么 mode 参数是fopen在C中由字符串给出 以我的思维方式 将其作为位掩码或类似的东西会更有意义 字符串所需的开销是低效且不必要的 C11 7 21 5 3 fopen 函数 论点mode指向一个字符串 如果字符串是以下之一 则文
  • 模块“http”没有默认导出。使用 typescript 和 Node 时

    import http from http http createServer req res gt res end Hello World listen 3000 gt console log Port is running on 300
  • HTML5 文件 API - 可用性和功能

    我刚刚阅读了一些有关 File API 的内容 现在我想知道几乎所有主要浏览器何时都会支持它或已经支持它 火狐浏览器 自 3 6 起 Chrome 自 8 0 起 歌剧 IE 这应该是基于 flash 的上传器 如 plupload 或 s
  • maven 项目报告.html 与 index.html

    我有一个多模块 pom 项目库目录 gt Module A Module B 父Pom xml 我没有任何 site xml ProjectBaseDir gt mvn clean site 目录下产生以下文件 项目BaseDir 目标 站
  • 在 Android 1.5 上获取小区 RSSI(网络信号强度)

    有没有办法在 Android 1 5 上检索当前的蜂窝信号强度 RSSI 我知道有一种方法可以通过TelephonyManager 但这似乎只给出了 状态 而不是数值 使用相邻小区的 RSSI 字段是否相当准确 我猜不会 但我已经没有主意了
  • 如何删除任何非字母数字字符?

    我想从字符串中删除任何非字母数字字符 某些字符除外 StringUtils replacePattern input p Alnum 我怎样才能排除那些特定的字符 比如 使用非运算符 a zA Z0 9 这意味着 匹配不是这些字符的内容 所
  • 给出按钮的名称并声明事件处理程序 使用 C# XamlReader 在运行时创建

    我正在使用 C 和 WPF 开发一个项目 该项目动态创建一个包含一些文本 图像和按钮的网格布局 我创建了许多这样的网格 并将它们添加到堆栈面板中 我使用 XamlReader Create 函数创建此网格 这是完整的代码 很抱歉 Xaml
  • .babelrc 忽略字段似乎被忽略

    我有一个 babelrc项目根目录下的文件 presets es2015 ignore src 当我编译它时babel src out dir dist the src文件夹仍然编译到dist folder 但是 当我启动命令时babel
  • Expo Android 应用程序,PushNotifications 在独立 apk 中不起作用?

    我遇到一个问题 当我通过 expo 客户端应用程序运行应用程序时 PushNotifications 可以工作 但如果我正在构建独立的 apk 我需要安装 expo 客户端 才能获取推送令牌 而且 当expo客户端未打开时 我无法获取pus
  • 如何在C中返回二维字符数组(字符双指针)?

    我正在读取一个包含多行字符串 最大长度 50 个字符 的文件 为了存储这些字符串 我使用 calloc 创建了一个 char 双指针 我的代码的工作方式是 它在文件中找到一行 添加一个新行 char 和 50 列 char 然后存储该值 我
  • 当属性更改时如何重新渲染反应组件

    所以我有这个反应组件 带有一个具有 2 个值的下拉属性 SPFx 我需要当下拉列表更改时再次重新渲染反应 下拉列表定义从中检索值的数据源 Webpart ts import as React from react import as Rea
  • 如何在 Swing 应用程序中创建 HttpServletRequest 实例

    我有一个在 swing 中制作的桌面应用程序 我需要创建 HttpServletRequest 对象以通过 Web 服务将其传递给另一个应用程序 所以请建议我一些在简单的类中创建请求对象的好方法 Spring 有很好的 HttpServle
  • 如何让 MSBuild 忽略项目引用?

    我怎样才能得到MSBuild完全忽略所有
  • 如何指定无序图像列表?

    我试图弄清楚如何指定要转换为视频的特定图像列表 我确实知道我们可以做这样的事情 ffmpeg i image 04 d png 这将从文件夹中选取与序列匹配的所有图像 然而 就我而言 图像文件不一定按其名称所暗示的顺序排列 原因是订单保存在
  • 如何禁用保存时的警告?

    我尝试在没有警告的情况下保存 ActiveWorkbook SaveAs Filename C Users Owner Desktop xxx test xlsx ConflictResolution xlLocalSessionChang
  • 如何构建 next.js 生产?

    我尝试在 next js 中获取生产版本以在我的服务器上运行它 但当我尝试时无法构建 next js 生产版本 npm 运行构建 有谁知道如何让 next js 中的产品构建正常工作我在 next js 文档中做了所有操作 但总是在下面出现
  • 使用 appium-python-client 在 Android 中进行缩放操作

    有谁知道如何通过appium python客户端缩放android中的元素 我目前正在使用 self driver zoom self element percent 但这给出了一个错误 self driver zoom self elem
  • Django 是否以某种方式缓存 url 正则表达式模式?

    我是一个需要帮助的 Django 新手 即使我更改了 urls py 中的一些 url 我仍然从 Django 收到相同的错误消息 这是我的 settings py 中的相关行 ROOT URLCONF mydjango urls 这是我的
  • Pinescript 重复警报

    我用 pinescript 创建了一个非常基本的脚本 study title Renko Strat w Alerts shorttitle S EURUSD 5 MakisMooz overlay true rc close buy en
  • Selenium 与 Firefox 88 对 navigator.webdriver 进行了更改

    最新版本的 Firefox 88 包括bug fix https bugzilla mozilla org show bug cgi id 1632821如果浏览器通过 marionette 协议运行 则用户无法将 navigator we