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

Selenium Python如何通过data-value属性定位并操作地区选择器组件

问题原因

你使用的是自定义模拟的下拉选择组件,不是原生<select>标签,你写的//li[@data-value='eu']定位语法本身没有问题,失败的核心原因是点击时下拉框处于收起状态,li元素不可见,无法触发交互。

正确操作步骤

交互需要分两步执行:先点击选择器外层容器展开下拉列表,等目标选项可见后再点击选择。

修改后的代码示例

你可以直接替换原代码中地区选择相关的逻辑,用显式等待替代固定time.sleep提升稳定性:

# 1. 定位地区选择器外层容器,点击触发下拉展开
region_select = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.CSS_SELECTOR, "div.Region_select__1h_yh"))
)
region_select.click()

# 2. 等待对应地区选项可见后点击,通过data-value属性定位
target_option = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.XPATH, "//li[@data-value='eu']"))
)
target_option.click()

补充说明

点击外层容器后,容器会自动新增Input_open__3e__v类名,下拉列表的所有li选项会渲染为可见状态,此时点击data-value匹配的元素就能正常完成选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 07:09:02