如何在 Selenium 中查找具有多个类名的 div 元素?
Nov 27, 2024 am 06:26 AM如何识别具有多个类名的 Div 元素
与 Web 元素交互时,使用类名定位元素可能至关重要。然而,Selenium 的 @FindBy 注释只允许在 className 参数中使用单个类名。这可能是有限制的,因为元素通常有多个类名。
替代方法
要克服此限制,请考虑以下替代方案:
1。使用 xpath 参数
XPath 允许您使用复杂的表达式来标识元素。对于精确的类匹配,您可以使用以下语法:
@FindBy(xpath = "//div[@class='value test']") @CacheLookup private WebElement test;
登录后复制
2.在 XPath 中使用 contains(@class)
如果元素可以具有指定类名的任意组合,则可以使用 contains(@class) 表达式:
@FindBy(xpath = "//div[contains(@class, 'value') and contains(@class, 'test')]") @CacheLookup private WebElement test;
登录后复制
3.利用 CSS 选择器
CSS 选择器提供了一种灵活的方法来根据多个类名称来定位元素。以下语法允许您将元素与指定类名的任意组合进行匹配:
@FindBy(css = "div[class*='value test']") @CacheLookup private WebElement test;
登录后复制
理解 XPath 类匹配
需要注意的是,XPath 的类匹配规则与 CSS 选择器略有不同。如果需要精确匹配,请使用 [@class='value test']。要匹配具有任意顺序或类名组合的元素,请使用 [contains(@class, 'value') 和 contains(@class, 'test')].
以上是如何在 Selenium 中查找具有多个类名的 div 元素?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)