【发布时间】:2023-02-01 05:36:13
【问题描述】:
我试图通过 Selenium 从 url 页面检索一些数据,但是在运行函数 driver.find_element_by_class_name() 之后,我收到了错误消息:
“WebDriver”对象没有属性“find_element_by_class_name”
也许这个功能在新模块更新中已被弃用,请给我一个提示,在哪里可以找到新功能而不是弃用的文档。
这是我的代码:
import pandas as pd
import time
import selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
import seaborn as sns
import os
import logging
######
PATH = 'C:/Program Files/chromedriver/chromedriver.exe'
options = Options()
driver = webdriver.Chrome(service =
Service(PATH))
page_url = "https://witcher.fandom.com/wiki/Category:Characters_in_the_stories"
driver.get(page_url)
book_categories = driver.find_elements_by_class_name('category-page__member-link')
AttributeError: 'WebDriver' object has no attribute 'find_elements_by_class_name'
------------
book_categories = driver.find_elements(By = 'class_name','category-page__member-link')
SyntaxError: positional argument follows keyword argument
我使用 chromedriver 版本 109.0.5414.74。 Chrome 版本 109.0.5414.75。
我也尝试使用此代码:
driver.find_elements(By.NAME, 'category-page__member-link),
但它也导致了错误:
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[name="category-page__member-link"]"}.
请帮助我找出此错误的原因以及解决方法。
【问题讨论】:
-
当你这样做的时候,还要确保你已经安装了正确版本的网络驱动程序。
标签: selenium selenium-webdriver selenium-chromedriver findelement