Ste*_*fan 5 python selenium selenium-chromedriver selenium-webdriver webdriver-manager
运行此代码时:
\nfrom selenium import webdriver\nfrom selenium.webdriver.common.keys import Keys\nfrom webdrivermanager.chrome import ChromeDriverManager\n\ndriver = webdriver.Chrome(ChromeDriverManager().download_and_install())\ndriver.get("http://www.python.org")\nRun Code Online (Sandbox Code Playgroud)\n这会导致安装 chromedriver 的行出现以下异常:
\n\n\n类型错误:需要 str、bytes 或 os.PathLike 对象,而不是元组
\n
请注意,我知道已经存在许多关于此主题的线程,但由于 webdrivermanager 似乎已主要更新,以前的解决方案不起作用。
\n还有一个简短的旁注:我通过 conda 而不是 pip 安装了 webdrivermager。但这不应该令人担忧。
\n编辑:整个堆栈跟踪:
\n\n\n回溯(最近一次调用最后一次):文件“C:\\Users\\stefa\\OneDrive -\nJohannes Kepler Universit\xc3\xa4t\nLinz\\Dokumente\\GitHub\\briefly\\src\\crawler\\crawler .py”,第 19 行,\n\ndriver = webdriver.Chrome(ChromeDriverManager().download_and_install()) 文件\n“C:\\Users\\stefa\\anaconda3\\envs\\briefly\\lib\ \site-packages\\selenium\\webdriver\\chrome\\webdriver.py",\n第 73 行,在init \nself.service.start() 文件“C:\\Users\\stefa\\anaconda3\\envs \\briefly\\lib\\site-packages\\selenium\\webdriver\\common\\service.py",\n第 72 行,在 start\nself.process = subprocess.Popen(cmd, env=self.env,文件“C:\\Users\\stefa\\anaconda3\\envs\\briefly\\lib\\subprocess.py”,第951行,\nin init \nself._execute_child(args,可执行文件,preexec_fn,close_fds,文件“ C:\\Users\\stefa\\anaconda3\\envs\\briefly\\lib\\subprocess.py", line\n1360, in _execute_child\nargs = list2cmdline(args) 文件 "C:\\Users\\stefa \\anaconda3\\envs\\briefly\\lib\\subprocess.py",第 565 行,\nin list2cmdline\nfor arg in map(os.fsdecode, seq):文件“C:\\Users\\stefa\\ anaconda3\\envs\\briefly\\lib\\os.py", line 822, in\nfsdecode\nfilename = fspath(filename) # 进行类型检查
\nfilename. 类型错误:需要 str、bytes 或 os.PathLike 对象,而不是元组
您的代码块中有两个问题,如下所示:
webdriver_manager.chromedownload_and_install()不受支持,您必须使用install()所以你的有效代码块将是:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("http://www.python.org")
Run Code Online (Sandbox Code Playgroud)
在windows-10系统上,控制台输出将是:
C:\Users\Admin\Desktop\Python Programs>python webdriver-manager_ChromeDriverManager.py
[WDM] -
[WDM] - ====== WebDriver manager ======
[WDM] - Current google-chrome version is 95.0.4638
[WDM] - Get LATEST driver version for 95.0.4638
[WDM] - There is no [win32] chromedriver for browser 95.0.4638 in cache
[WDM] - Get LATEST driver version for 95.0.4638
[WDM] - Trying to download new driver from https://chromedriver.storage.googleapis.com/95.0.4638.54/chromedriver_win32.zip
[WDM] - Driver has been saved in cache [C:\Users\Admin\.wdm\drivers\chromedriver\win32\95.0.4638.54]
DevTools listening on ws://127.0.0.1:50921/devtools/browser/c26df2aa-67aa-4264-b1dc-34d6148b9174
Run Code Online (Sandbox Code Playgroud)
您可以在ModuleNotFoundError: No module named 'webdriver_manager' error Even afterInstalling webdrivermanager中找到相关的详细讨论