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

如何使用Selenium定位并输入Lidl网站门店搜索框文本

使用Selenium操作Lidl英国官网门店搜索流程

1. 获取搜索框定位器

打开目标页面后,通过浏览器开发者工具(F12)定位搜索框元素,以下是几种可靠的定位方式(以实际页面元素属性为准):

  • CSS选择器:input[data-testid="store-finder-search-input"](若页面元素带有该测试ID)
  • XPath://input[contains(@placeholder, "Postcode")](通过占位符文本定位)
  • ID选择器:By.ID("postcode-search")(若元素有明确ID属性)

2. 用Selenium输入邮编并触发搜索

以Python为例,实现输入邮编并执行搜索的代码片段:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

# 初始化浏览器驱动(需对应本地浏览器版本)
driver = webdriver.Chrome()
driver.get("https://www.lidl.co.uk/about-us/store-finder-opening-hours#")

# 定位搜索框并输入邮编
search_box = driver.find_element(By.CSS_SELECTOR, 'input[data-testid="store-finder-search-input"]')
search_box.send_keys("SW1A 1AA")  # 示例邮编

# 触发搜索(可点击搜索按钮或按回车)
search_box.send_keys(Keys.ENTER)
# 或定位搜索按钮点击:driver.find_element(By.CSS_SELECTOR, 'button[data-testid="store-finder-search-button"]').click()

3. 提取页面显示的门店邮编

搜索结果加载完成后,定位门店列表中的邮编元素并提取文本:

# 等待结果加载(建议使用显式等待替代time.sleep)
import time
time.sleep(3)  # 简单等待,实际项目推荐WebDriverWait

# 定位所有门店邮编元素
postcode_elements = driver.find_elements(By.CSS_SELECTOR, '.store-details__postcode')  # 假设类名为store-details__postcode

# 提取并打印所有邮编
for elem in postcode_elements:
    print(elem.text.strip())

# 关闭驱动
driver.quit()

注意:页面元素的属性(如CSS类名、测试ID)可能随网站更新变化,需定期通过开发者工具验证定位器有效性;生产环境中建议使用WebDriverWait实现显式等待,避免因页面加载延迟导致元素定位失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 04:44:58