Simon_ss@ 2023-03-02 16:09 采纳率: 0%
浏览 40

关于python 3:使用Selenium的无头Chrome-401未经授权的访问

当我运行代码并以无头模式执行时,收到消息" 401-未经授权:尚未应用该请求,因为它缺少目标资源的有效身份验证凭据。"。
但是在正常模式下执行完全相同的步骤,则该网页允许我执行所有操作。
对比其他网站使用无头模式没问题,初步猜测是由于网站认证机制导致,想深入检查原因以及解决方案
尝试过设置webdriver属性为undefined和设置user-agent

  • 写回答

1条回答 默认 最新

  • 编程漫步者 2023-03-03 14:37
    关注

    根据您的描述,问题可能与Selenium的默认用户代理有关,因为该用户代理可能会被目标网站拦截并阻止访问。
    您可以尝试使用自定义用户代理来解决此问题,这可以通过在创建WebDriver实例时设置Options来实现。例如:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    options = Options()
    options.add_argument('--headless')
    options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36')
    
    driver = webdriver.Chrome(options=options)
    

    其中,user-agent是您想要使用的自定义用户代理字符串。您可以使用浏览器的开发者工具来获取用户代理字符串,或者使用其他可用的字符串。

    如果这个方法不能解决问题,那么您需要进一步检查目标网站的身份验证机制,以了解为什么它在无头模式下无法正常工作。

    评论

报告相同问题?

问题事件

  • 修改了问题 3月2日
  • 修改了问题 3月2日
  • 创建了问题 3月2日

悬赏问题

  • ¥15 想问一下这种情况怎么解决呢(关键词-file)
  • ¥15 python Flassk 模块部署 服务器时报错
  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)