Python Selenium报错OSError: [WinError 193] 求助解决方案
解决Kahoot刷屏脚本的WinError 193及代码问题
嘿,我看了你的问题和代码,首先那个WinError 193的核心原因很明确——你把ChromeDriver的路径指向了压缩包文件(chromedriver_win32.zip),而不是解压后的可执行文件chromedriver.exe。咱们一步步来解决所有问题:
第一步:修复ChromeDriver路径问题
- 先把你下载的
chromedriver_win32.zip解压到一个文件夹里,比如解压到C:\\Users\\ovvip\\Downloads\\chromedriver_win32 - 在代码里把chromedriver的路径改成指向解压后的exe文件:
chromedriver = 'C:\\Users\\ovvip\\Downloads\\chromedriver_win32\\chromedriver.exe'
第二步:修复代码里的其他错误
你的代码还有几个小问题,比如元素定位错误、调用selenium的方式不对,我整理了修正后的完整代码,注释里标了修改点:
# 导入语句分开写,符合Python规范 from selenium import webdriver from selenium.webdriver.common.keys import Keys Game_Pin = input('Enter your PIN: ') NickNAME = input('Enter your nickname: ') def Enter_Press(browser): # 改用回车代替点击按钮,避免元素定位失败(Kahoot的按钮选择器经常变动) active_element = browser.switch_to.active_element active_element.send_keys(Keys.ENTER) def Kahoot_Spammer(Game_Pin, NickNAME): # 指向解压后的chromedriver.exe chromedriver = 'C:\\Users\\ovvip\\Downloads\\chromedriver_win32\\chromedriver.exe' browser = webdriver.Chrome(chromedriver) browser.get('https://kahoot.it/') # Kahoot的游戏PIN输入框实际id是"game-input",不是"Game PIN" game_pin = browser.find_element_by_id("game-input") # 昵称输入框实际id是"nickname",不是"Nickname" name_input = browser.find_element_by_id("nickname") game_pin.send_keys(Game_Pin) Enter_Press(browser) # 传入browser对象供函数使用 name_input.send_keys(NickNAME) Enter_Press(browser) Kahoot_Spammer(Game_Pin, NickNAME)
额外注意事项
- 确保你的ChromeDriver版本和电脑上安装的Chrome浏览器版本完全匹配,版本不兼容也会导致启动失败
- 你切换到32位Python的思路是对的,32位ChromeDriver搭配32位Python没问题,只要路径正确就不会有架构不兼容的问题
- 最后提醒一下:这类刷屏脚本可能违反Kahoot的使用条款,建议只在自己的测试场景下使用哦
内容的提问来源于stack exchange,提问作者Golden Matrices




