如何在Python Selenium中通过输入选择WordPress分类
在Python Selenium中通过输入选择WordPress分类
可以通过分类名称映射+用户输入匹配的方式实现,具体步骤如下:
1. 定义分类与元素定位的映射字典
先把你提供的分类名称和对应XPATH整理成字典,方便后续根据输入快速定位元素:
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 分类名称到XPATH的映射(统一转为小写,兼容不同输入格式) category_mapping = { "16 gb ram games": '//*[@id="in-category-11"]', "256 mb ram games": '//*[@id="in-category-9"]', "512 mb ram games": '//*[@id="in-category-7"]', "1 gb ram games": '//*[@id="in-category-17"]', "8 gb ram games": '//*[@id="in-category-10"]', "4 gb ram games": '//*[@id="in-category-15"]', "2 gb ram games": '//*[@id="in-category-16"]', "action games": '//*[@id="in-category-12"]' }
2. 获取用户输入并执行分类选择
通过input()获取用户选择的分类,统一转为小写后匹配映射字典,找到对应元素后执行点击操作:
# 初始化驱动(根据你的浏览器替换,比如ChromeDriver) driver = webdriver.Chrome() driver.get("你的WordPress后台分类选择页面URL") # 获取用户输入 user_input = input("请输入要选择的分类名称:").strip().lower() # 匹配并点击分类 if user_input in category_mapping: try: # 等待元素可点击,避免页面加载未完成导致报错 category_element = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.XPATH, category_mapping[user_input])) ) category_element.click() print(f"已成功选择分类:{user_input.title()}") except Exception as e: print(f"选择分类时出错:{str(e)}") else: print("输入的分类不存在,请检查输入内容。") # 关闭驱动(按需执行) # driver.quit()
3. 关键细节说明
- 统一转为小写是为了兼容用户输入的不同大小写格式(比如输入"4 GB RAM Games"也能匹配)
- 使用
WebDriverWait显式等待,避免因页面加载延迟导致的元素定位失败 - 后续新增分类时,只需在
category_mapping字典中添加对应键值对即可
内容的提问来源于stack exchange,提问作者Mr Paul Reviews
相关产品推荐
相关产品推荐

