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

Python中如何正确导入并使用Selenium的ByChained实现多定位器链式定位

解决办法

你出现报错是因为ByChained并不属于selenium.webdriver.common.by模块,同时要根据你使用的Selenium版本做对应适配:

如果你使用Selenium 3.x版本

正确导入语句

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import ByChained

正确使用示例

# 注意补全你原代码缺失的右括号
myLocator = ByChained(
    (By.CSS_SELECTOR, "selector_top_level"),
    (By.CSS_SELECTOR, "selector_bottom_level")
)

# 定位元素调用示例
target = driver.find_element(myLocator)

如果你使用Selenium 4.x版本

Selenium 4已经移除了ByChained类,直接通过链式调用find_element即可实现完全相同的层级匹配效果,不需要额外导入其他类:

from selenium.webdriver.common.by import By

# 先匹配上层节点,再匹配下层节点,等效于原ByChained效果
target = driver.find_element(By.CSS_SELECTOR, "selector_top_level")\
              .find_element(By.CSS_SELECTOR, "selector_bottom_level")

如果需要匹配多个符合条件的元素,将对应位置的find_element替换为find_elements即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:06:05