嗨,我想用python selenium ChromeDriver打开Instagram,我遇到了一个问题。
import pdb
from selenium import webdriver
driver = webdriver.Chrome()
当我运行此代码时: 第一个谷歌浏览器打开。过了一会儿,我在ChromeDriver窗口中看到此错误:
[6108:6244:0824/025032.331:错误:wmi_refresher.cc(150)] 无法添加Win32_PerfRawData_PerfDisk_PhysicalDisk枚举。
此错误消息...
[6108:6244:0824/025032.331:ERROR:wmi_refresher.cc(150)] Unable to add the Win32_PerfRawData_PerfDisk_PhysicalDisk enum.
。意味着文件的枚举失败。
此错误在 wmi_refresher.cc 中定义:
long wmi_refresher_enum_id = 0;
// Add the enumerator for the disk performance data.
hr = wmi_refresher_config->AddEnum(
wmi_services_.Get(), L"Win32_PerfRawData_PerfDisk_PhysicalDisk", 0,
nullptr, &wmi_refresher_enum_, &wmi_refresher_enum_id);
if (FAILED(hr)) {
LOG(ERROR)
<< "Unable to add the Win32_PerfRawData_PerfDisk_PhysicalDisk enum.";
*res = InitStatus::kRefresherAddEnumError;
return;
}
*res = InitStatus::kInitStatusOk;
refresh_ready_ = true;
}
根据文章错误文件枚举失败的原因,由于以下任一因素,此错误可能会在期间发生:
- 指向不再存在的本地的路径。
- 不完整的路径(如 \myservice\myservice.exe)。
- 服务不了解如何查询文件夹的 UNC 路径(如 \myservice\myservice.exe)。
- 路径中的无效字符:使用某些应用程序供应商使用的点(例如 C:\myservice\bin.)。\myservice.exe)。 路径的
- 语法格式:这可以是包含未用双引号括起来的空格的路径(例如 C:\Program Files (x86)\ my service\bin\chromedriver.exe)。
- 故障转移群集的 SAN 驱动器上的有效路径:这可以是路径位于故障转移群集的被动节点上的任何服务,在遇到错误时指向另一个节点拥有的物理磁盘资源(如 Z:\folder\app\bin\myservice.exe)
此用例
我在您的代码试用中没有看到任何重大问题。但是,您可能需要通过密钥executable_path
传递ChromeDriver的绝对路径,如下所示:
from selenium import webdriver
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')