Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python USB:USB\U设备\U句柄\U win.cc:1020无法在Windows10上使用Selenium从ChromeDriver v87/Chrome v87的节点连接错误中读取描述符_Python_Selenium_Google Chrome_Selenium Chromedriver_Webusb - Fatal编程技术网

Python USB:USB\U设备\U句柄\U win.cc:1020无法在Windows10上使用Selenium从ChromeDriver v87/Chrome v87的节点连接错误中读取描述符

Python USB:USB\U设备\U句柄\U win.cc:1020无法在Windows10上使用Selenium从ChromeDriver v87/Chrome v87的节点连接错误中读取描述符,python,selenium,google-chrome,selenium-chromedriver,webusb,Python,Selenium,Google Chrome,Selenium Chromedriver,Webusb,最近,我们使用ChromeDriver v87.0.4280.20和Chrome v87.0.4280.66(官方版本)(64位)升级了Windows 10测试环境,升级后,即使是最小的程序也会生成以下错误日志: [9848:10684:1201/013233.169:ERROR:device_event_log_impl.cc(211)] [01:32:33.170] USB: usb_device_handle_win.cc:1020 Failed to read descriptor fr

最近,我们使用ChromeDriver v87.0.4280.20和Chrome v87.0.4280.66(官方版本)(64位)升级了Windows 10测试环境,升级后,即使是最小的程序也会生成以下错误日志:

[9848:10684:1201/013233.169:ERROR:device_event_log_impl.cc(211)] [01:32:33.170] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
最小代码块:

from selenium import webdriver

options = webdriver.ChromeOptions() 
options.add_argument("start-maximized")
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get('https://www.google.com/')
控制台输出:

DevTools listening on ws://127.0.0.1:64170/devtools/browser/2fb4bb93-79ab-4131-9e4a-3b65c08dbffb
[9848:10684:1201/013233.169:ERROR:device_event_log_impl.cc(211)] [01:32:33.170] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
[9848:10684:1201/013233.172:ERROR:device_event_log_impl.cc(211)] [01:32:33.173] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)

有人面对同样的问题吗?相对于ChromeDriver/Chrome v86,ChromeDriver/Chrome v87是否有任何变化?有什么线索吗?

我为日志垃圾邮件道歉。如果使用WebUSB连接到设备时没有问题,可以忽略这些警告。它们是由Chrome试图读取当前暂停的USB设备的属性触发的。

我为日志垃圾邮件道歉。如果使用WebUSB连接到设备时没有问题,可以忽略这些警告。Chrome试图读取当前挂起的USB设备的属性时会触发这些问题。

经过多次讨论、文档记录和Chrome问题后,以下是与日志消息呈现相关的详细信息:

[9848:10684:1201/013233.169:ERROR:device_event_log_impl.cc(211)] [01:32:33.170] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)

细节 这一切都始于报告铬问题,具体如下:

  • 对于Linux(可能还有Mac),WebUSB通知和通信都能正常工作(在允许用户按照udev规则访问设备之后)
  • 对于Windows,libusb似乎只适用于非标准的WinUsb驱动程序()
当插入硬件且系统不知道VID/PID时,windows 10将正确加载CDC部分的CDC驱动程序和WebUSB部分的WinUSB驱动程序(版本10)(无红色标志)。然而,chrome似乎永远也找不到这个设备,直到我在界面上手动强制安装一个旧的WinUSB驱动程序(版本6,可能也修改过)

该解决方案按如下步骤实施:

  • 这些更改确保了新后端已准备好进行测试,并可通过和chrome dev频道使用,您可以通过以下方式手动访问:

    chrome://flags#enable-new-usb-backend
    
    提交的更多变更请求如下:

    • :根据挂起报告,此函数执行RPC调用,这可能需要一些时间才能完成。使用base::ScopedBlockingCall标记调用,以便线程池知道此任务可能会忙一段时间
    • :此标志是试验性的,因为beta channel将此更改配置用作测试的默认设置
    由于新后端的实验性启动似乎是稳定的,最终这些配置在默认情况下被启用,以便chanege向所有用户推出

    想法是,一旦此配置成为一些里程碑的默认配置,Chromium团队将开始从旧的后端删除Windows特定的代码并删除标志


    前方道路 Chrome团队已经将/to合并到Chrome v90中,该版本将很快推出


    更新 根据的[Committer,Google Chrome的WebDriver]:

    …“最好降低这些消息的日志级别,这样它们在默认情况下就不会出现在控制台上,但我们还没有找到这样做的代码”


    工具书类 您可以在以下内容中找到一些相关的详细讨论:


    经过多次讨论、文档记录和铬问题后,以下是与日志消息呈现相关的详细信息:

    [9848:10684:1201/013233.169:ERROR:device_event_log_impl.cc(211)] [01:32:33.170] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
    

    细节 这一切都始于报告铬问题,具体如下:

    • 对于Linux(可能还有Mac),WebUSB通知和通信都能正常工作(在允许用户按照udev规则访问设备之后)
    • 对于Windows,libusb似乎只适用于非标准的WinUsb驱动程序()
    当插入硬件且系统不知道VID/PID时,windows 10将正确加载CDC部分的CDC驱动程序和WebUSB部分的WinUSB驱动程序(版本10)(无红色标志)。然而,chrome似乎永远也找不到这个设备,直到我在界面上手动强制安装一个旧的WinUSB驱动程序(版本6,可能也修改过)

    该解决方案按如下步骤实施:

  • 这些更改确保了新后端已准备好进行测试,并可通过和chrome dev频道使用,您可以通过以下方式手动访问:

    chrome://flags#enable-new-usb-backend
    
    提交的更多变更请求如下:

    • :根据挂起报告,此函数执行RPC调用,这可能需要一些时间才能完成。使用base::ScopedBlockingCall标记调用,以便线程池知道此任务可能会忙一段时间
    • :此标志是试验性的,因为beta channel将此更改配置用作测试的默认设置
    由于新后端的实验性启动似乎是稳定的,最终这些配置在默认情况下被启用,以便chanege向所有用户推出

    想法是,一旦此配置成为一些里程碑的默认配置,Chromium团队将开始从旧的后端删除Windows特定的代码并删除标志


    前方道路 Chrome团队已经将/to合并到Chrome v90中,该版本将很快推出


    更新 根据的[Committer,Google Chrome的WebDriver]:

    …“最好降低这些消息的日志级别,这样它们在默认情况下就不会出现在控制台上,但我们还没有找到这样做的代码”


    工具书类 您可以在以下内容中找到一些相关的详细讨论:

      • 我遇到了这个问题