You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Selenium所用JavaScript代码中,()=>是什么含义?

代码中()=>的含义解析

你提到的()=>是JavaScript ES6标准引入的箭头函数,是传统function函数的简化写法,在你给出的Selenium脚本里有两处应用:

  • 最外层的()=>{Object.defineProperties(navigator,{webdriver:{get:()=>false}})}
    这是一个无参数的箭头函数:

    • ()表示这个函数不需要接收任何参数
    • =>是箭头函数的标志性语法,用来连接参数部分和函数体
    • 后面的{}包裹了函数要执行的逻辑——通过Object.defineProperties修改浏览器navigator对象的webdriver属性。在Selenium场景中,这个函数会被注入到目标页面执行,用来隐藏自动化测试的标识。
  • 内层的get:()=>false
    这是一个极简箭头函数:

    • 因为函数体只有返回false这一行逻辑,所以省略了包裹函数体的{}和return关键字(完整写法是get:()=>{return false})
      它作为webdriver属性的getter方法,当页面代码读取navigator.webdriver时,会返回false,替代Selenium默认的true,以此绕过网站的反爬检测。

如果用传统function语法改写这段代码,效果完全一致:

function() {
  Object.defineProperties(navigator, {
    webdriver: {
      get: function() {
        return false;
      }
    }
  });
}

内容的提问来源于stack exchange,提问作者Zhang Shengjie Can

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 04:49:50