【问题标题】:UndetectedChromedriver Extension Issue未检测到的 Chromedriver 扩展问题
【发布时间】:2023-01-17 01:01:08
【问题描述】:

我无法在 UndetectedChromedriver PYPI 包 (Python) 上使用扩展。如果我将它与普通硒一起使用,它会起作用,但不能与这个包一起使用。我尝试直接从网上商店安装扩展程序,但 Chrome 网上商店警报不是处理硒的警报是一个窗口事件,因此我们需要使用 AutoIT、Pyautogui 等...来处理它。

唯一有效的是加载配置文件,但是......我正在为多进程窗口工作,正在工作,但我需要创建大量的窗口然后删除它们。而且我无法克隆配置文件,因为 UndetectedChromedriver 不起作用,我需要手动创建。

最后我尝试使用 Google Chrome Enterprise Bundle,然后我使用扩展策略安装强制所有配置文件的扩展。是的,正在工作,但如果我启用它,selenium 将无法正常工作。

错误回溯日志为:

Exception in thread Thread-2:
Traceback (most recent call last):
  File "C:\Users\andre\anaconda3\envs\selenium-env\lib\threading.py", line 950, in _bootstrap_inner
    self.run()
  File "C:\Users\andre\anaconda3\envs\selenium-env\lib\threading.py", line 888, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\andre\OneDrive\Documentos\(A1)_Inicio\(A2)_CyberEspacio\LAB\(A1)_Programador123\(A1)_Programming_(Section)\VSCode Snippets\python\selenium\app.py", line 72, in test
    seleniumCaptchaSolver.reCaptchaServiceLogin(apiKey='MYAPIKEY', solverType = SeleniumCaptchaSolverType().Capmonster)
  File "C:\Users\andre\OneDrive\Documentos\(A1)_Inicio\(A2)_CyberEspacio\LAB\(A1)_Programador123\(A1)_Programming_(Section)\VSCode Snippets\python\selenium\modules\seleniumCaptchaSolver.py", line 103, in reCaptchaServiceLogin
    self.__driver.get('chrome-extension://pabjfbciaedomjjfelfafejkppknjleh/popup.html')
  File "C:\Users\andre\anaconda3\envs\selenium-env\lib\site-packages\undetected_chromedriver\__init__.py", line 535, in get
    return super().get(url)
  File "C:\Users\andre\anaconda3\envs\selenium-env\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 447, in get
    self.execute(Command.GET, {'url': url})
  File "C:\Users\andre\anaconda3\envs\selenium-env\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 435, in execute
    self.error_handler.check_response(response)
  File "C:\Users\andre\anaconda3\envs\selenium-env\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response   
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot determine loading status
from disconnected: received Inspector.detached event
  (Session info: chrome=103.0.5060.134)

只有当 chrome-extension://pabjfbciaedomjjfelfafejkppknjleh/popup.html 打开登录(发送 APi 密钥)时才会发生这种情况。我可以登录等等...但是当策略被激活时,我不能因为那个问题。

这里的任何人都知道如何修复该问题或在 UndetctedChromedriver 中正确使用扩展程序?

注意:此错误仅在我加载 chrome-extension://pabjfbciaedomjjfelfafejkppknjleh/popup.html 链接时发生,其他链接有效。

【问题讨论】:

    标签: python-3.x selenium undetected-chromedriver


    【解决方案1】:

    我找到了这个解决方案:

    import undetected_chromedriver as uc
    import os
    
    working_dir = os.getcwd()
    # Im using proxy extension
    proxy_plugin = f'{working_dir}/proxy_plugin'
    
    options = uc.ChromeOptions()
    
    options.add_argument(f'--load-extension={proxy_plugin}')
    # {proxy_plugin} path to extension folder, I tried to import .zip file
    # and this doesnt working, maybe you can try import .crx file
    
    # Also, I use extensions.ui.developer_mode
    options.add_experimental_option('prefs', { 'extensions.ui.developer_mode': True })
    
    driver = uc.Chrome(options = options)
    

    extensions.ui.developer_mode

    然而,我看到了这个页面:

    Load unpacked Chrome extension programmatically

    Installing extension into V2

    【讨论】: