Python Selenium代码出现AttributeError,请求协助排查问题
解决Selenium报错:AttributeError: 'str' object has no attribute '_ignore_local_proxy'
错误信息
AttributeError: 'str' object has no attribute '_ignore_local_proxy'
问题根源
你初始化Chrome驱动的方式有误。新版Selenium(4.x及以上)不再支持直接将驱动文件路径作为参数传给webdriver.Chrome(),必须通过Service类来指定驱动路径。你直接传入字符串路径,导致Selenium把这个字符串当成了配置选项对象,从而触发该属性错误。另外你原路径只指向了文件夹,没有指定到具体的chromedriver.exe文件,这也是问题之一。
修复步骤
- 导入
webdriver.chrome.service.Service类 - 创建
Service实例,传入驱动文件的完整路径(需指向chromedriver.exe) - 将
Service实例作为参数传给webdriver.Chrome() - 旧版
find_element_by_xpath方法已被弃用,建议改用find_element(By.XPATH, 定位表达式)写法,需额外导入By类
修正后的完整代码
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By import time # 初始化浏览器驱动:使用Service指定chromedriver完整路径 service = Service("C:/Users/Hybrid/Documents/PROJETO PAI/chromedriver.exe") driver = webdriver.Chrome(service=service) # 打开WhatsApp网页版 driver.get("https://web.whatsapp.com") # 等待用户手动完成登录 input("登录WhatsApp网页版后,按Enter键继续...") # WhatsApp群组列表 grupos = ["Peo", "ds", "MAGAL"] # 要发送的消息 mensagem = "BOM DIA" # 遍历群组 for grupo in grupos: try: # 定位搜索框 campo_pesquisa = driver.find_element(By.XPATH, '//div[@contenteditable="true"][@data-tab="3"]') # 输入群组名称 campo_pesquisa.send_keys(grupo) time.sleep(2) # 按Enter键打开群组 campo_pesquisa.send_keys(Keys.ENTER) time.sleep(2) # 定位消息输入框 campo_mensagem = driver.find_element(By.XPATH, '//div[@contenteditable="true"][@data-tab="1"]') # 输入消息 campo_mensagem.send_keys(mensagem) time.sleep(2) # 按Enter键发送消息 campo_mensagem.send_keys(Keys.ENTER) time.sleep(2) # 返回初始页面 driver.find_element(By.XPATH, '//button[@class="_1Ek-U"]').click() time.sleep(2) except Exception as e: print(f"向群组'{grupo}'发送消息时出错: {e}") # 关闭浏览器 driver.quit()
额外注意事项
- 确保
chromedriver.exe版本和本地Chrome浏览器版本完全匹配,版本不兼容会引发其他运行错误
内容的提问来源于stack exchange,提问作者Hybrid Beast
相关产品推荐
相关产品推荐

