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

如何实现searchBox.send_keys自动切换v.S1、v.S2等变量批量搜索?

解决方案

1. 重构variables.py的变量存储

把分散的S1、S2、S3改成列表,方便批量遍历:

# variables.py
SEARCH_TERMS = ["Eggs", "Milk", "Bread"]  # 把所有要搜索的词都放在这里

2. 修改functions.py的爬虫函数,让它接受搜索词参数

把原来固定用X的函数改成可传参的形式,每次调用时传入不同的搜索词:

# functions.py
from selenium.webdriver.common.by import By

def scrape_single_item(search_term):
    # 这里保留你原有的初始化浏览器、定位元素的代码
    # ...
    searchBox = driver.find_element(By.CLASS_NAME, 你的类名变量)
    searchBox.send_keys(search_term)  # 用传入的参数代替固定的X
    # 后续抓取品牌、价格的代码保持不变
    # ...

3. 在main.py里循环调用函数,实现批量搜索

导入列表后,逐个遍历每个搜索词,调用爬虫函数:

# main.py
import variables as v
import functions as f

# 循环遍历所有搜索词,逐个执行抓取
for term in v.SEARCH_TERMS:
    f.scrape_single_item(term)
    # 可选:每次搜索后添加状态重置代码,比如清空搜索框、返回首页,避免影响下一次搜索

额外提示

  • 如果非要保留S1、S2、S3的单独变量,可以在variables.py里加个列表聚合它们:
    # variables.py
    S1 = "Eggs"
    S2 = "Milk"
    S3 = "Bread"
    SEARCH_TERMS = [S1, S2, S3]
    
  • 每次搜索完成后,记得处理浏览器状态(比如清空搜索框、刷新页面),防止下一次搜索受上一次输入残留的影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:50:24