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

Selenium XPath如何同时匹配Unseen与指定用户名的元素?

解决XPath多条件匹配问题

你之前写的XPath语法有误,正确的写法应该针对name属性同时做两次包含匹配,用and连接两个条件:

//XCUIElementTypeButton[contains(@name, 'Unseen') and contains(@name, 'githubstudent663')]

为什么之前的写法不生效:

  • 你写的@name=and是语法错误,@name=后面没有指定匹配值,直接跟and不符合XPath语法规则;
  • 你用了contains(., 'githubstudent663'),这里的.是匹配元素的文本内容,但你的目标是匹配元素的name属性,所以应该替换成contains(@name, 'githubstudent663')。

如果需要更精准的匹配(比如确保Unseen在开头,或者用户名在末尾),也可以调整写法,比如:

//XCUIElementTypeButton[starts-with(@name, 'Unseen') and ends-with(@name, 'githubstudent663')]

不过要注意,ends-with是XPath 2.0的语法,如果你的测试框架只支持XPath 1.0,可能需要用substring替代,比如:

//XCUIElementTypeButton[starts-with(@name, 'Unseen') and substring(@name, string-length(@name)-string-length('githubstudent663')+1) = 'githubstudent663']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 01:42:00