如何使用Selenium在Firefox中正确实现网页抓取?解决代码报错
问题解决:Selenium获取网页标题报错修复
错误原因解析
1. 路径转义问题
代码里的PATH = "C:\Program Files (x86)\geckodriver.exe"用了普通双引号,Windows路径里的反斜杠\在Python字符串里是转义字符,\P属于无效转义序列,因此报SyntaxWarning。
2. Selenium初始化参数错误
Selenium 4及以上版本,webdriver.Firefox()不再直接接收驱动路径作为第一个参数。你直接传PATH字符串,会被程序当成options参数处理,而字符串没有capabilities属性,因此触发AttributeError。
修复后的代码
from selenium import webdriver from selenium.webdriver.firefox.service import Service # 解决路径转义:用原始字符串(加r前缀)或者双反斜杠 PATH = r"C:\Program Files (x86)\geckodriver.exe" # 用Service类包装驱动路径 service = Service(PATH) driver = webdriver.Firefox(service=service) driver.get("https://www.bestbuy.com") print(driver.title) driver.quit()
额外说明
- 原始字符串前缀
r会让Python不解析反斜杠的转义功能,是处理Windows路径最便捷的方式。 - 如果你的Firefox浏览器未安装在默认路径,可通过
FirefoxOptions指定浏览器路径,默认安装则无需额外设置。
内容的提问来源于stack exchange,提问作者FlankMan
相关产品推荐
相关产品推荐

