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

如何使用css selectors操作dropdown的lang-chooser切换为英文语言?

用CSS Selector选中下拉语言选择器英文选项的方法

你已实现的点击展开语言选择器代码如下:

driver.find_element_by_css_selector('#lang-chooser').click()

展开后根据下拉框的DOM结构差异,可选择对应CSS选择器写法选中英文选项:

  • 原生<select>标签结构,英文选项value属性为en
    driver.find_element_by_css_selector('#lang-chooser option[value="en"]').click()
    
  • 自定义下拉框结构,英文选项存在data-lang="en"属性
    driver.find_element_by_css_selector('#lang-chooser [data-lang="en"]').click()
    
  • 自定义下拉框结构,英文选项aria-label属性为English
    driver.find_element_by_css_selector('#lang-chooser [aria-label="English"]').click()
    

为避免元素未加载完成导致报错,建议添加显式等待,完整示例代码如下:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 等待语言选择器可点击后展开
WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.CSS_SELECTOR, '#lang-chooser'))
).click()
# 等待英文选项可点击后选中,可根据实际结构替换CSS选择器内容
en_option = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.CSS_SELECTOR, '#lang-chooser option[value="en"]'))
)
en_option.click()

如果是原生select结构,也可以用Selenium内置的Select类操作,不用手动点击展开:

from selenium.webdriver.support.ui import Select

lang_select = Select(driver.find_element_by_css_selector('#lang-chooser'))
# 根据value属性选中英文
lang_select.select_by_value('en')
# 也可以根据可见文本选中
# lang_select.select_by_visible_text('English')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:36:03