You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium报错:module 'selenium.webdriver'无'get'属性,求解决

解决Selenium中AttributeError: module 'selenium.webdriver' has no attribute 'get'问题

我遇到了AttributeError错误:module 'selenium.webdriver' has no attribute 'get'。尝试过在Stack Overflow查找解决方案,但出现了新的无法理解的问题;卸载重装过Python(电脑已安装Anaconda),并分别在IDLE、VSCode和PyCharm中运行Selenium程序,问题依旧存在。

以下是我的代码:

from selenium import webdriver
from selenium.webdriver.firefox.service import Service as FirefoxService
from webdriver_manager.firefox import GeckoDriverManager
import random
from selenium.webdriver.common.by import By


url = "https://eksisozluk.com/mustafa-kemal-ataturk--34712?p="

pageCount = 1
entries = []
entryCount = 1

while pageCount <= 10:
    randomPage = random.randint(1,1290)
    newUrl = url + str(randomPage)
    webdriver.get(newUrl)

    elements = driver.find_element(By.CSS_SELECTOR, 'p.content')
    for element in elements:
        entries.append(element.text)
    time.sleep(3)
    pageCount += 1

with open("entries.txt","w",encoding = "UTF-8") as file:
    for entry in entries:
        file.write(str(entryCount) + ".\n" + entry + "\n")
        file.write("***********************************\n")
        entryCount += 1



driver.close()

问题根源

代码存在三个核心错误:

  1. 调用对象错误:webdriver.get(newUrl)直接调用了模块的get方法,但get是浏览器驱动实例的方法,不是selenium.webdriver模块的方法。
  2. 未初始化驱动实例:直接使用driver.find_element和driver.close(),但从未创建过driver实例。
  3. 元素获取方法错误:find_element只会返回单个匹配元素,遍历会报错,应该用find_elements获取多个元素;同时缺少time模块导入,time.sleep会未定义。

修正后的代码

from selenium import webdriver
from selenium.webdriver.firefox.service import Service as FirefoxService
from webdriver_manager.firefox import GeckoDriverManager
import random
import time  # 导入time模块
from selenium.webdriver.common.by import By


url = "https://eksisozluk.com/mustafa-kemal-ataturk--34712?p="

pageCount = 1
entries = []
entryCount = 1

# 初始化Firefox驱动实例
driver = webdriver.Firefox(service=FirefoxService(GeckoDriverManager().install()))

while pageCount <= 10:
    randomPage = random.randint(1,1290)
    newUrl = url + str(randomPage)
    driver.get(newUrl)  # 通过驱动实例调用get方法

    # 使用find_elements获取所有匹配元素
    elements = driver.find_elements(By.CSS_SELECTOR, 'p.content')
    for element in elements:
        entries.append(element.text)
    time.sleep(3)
    pageCount += 1

with open("entries.txt","w",encoding = "UTF-8") as file:
    for entry in entries:
        file.write(str(entryCount) + ".\n" + entry + "\n")
        file.write("***********************************\n")
        entryCount += 1

driver.close()

关键修改说明

  • 新增import time:解决time.sleep未定义问题。
  • 初始化驱动实例:通过webdriver_manager自动安装并启动GeckoDriver,创建浏览器实例driver。
  • 调整get调用对象:从webdriver.get改为driver.get,调用实例方法而非模块方法。
  • 替换元素获取方法:find_element改为find_elements,确保能获取页面上所有符合条件的元素并遍历。

内容的提问来源于stack exchange,提问作者spark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 18:35:22