加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 如何仅单击一个类中的链接

发布时间:2020-12-14 05:55:48 所属栏目:百科 来源:网络整理
导读:我有两个状态class =“icon”或class =“icon active”之一的元素. 我认为$browser.element(:class = /^icon$/).click会点击第一个未激活的按钮,但它只是点击它找到的第一个按钮,无论它是否还包含“活动” “. 正则表达式错了吗?或者更好的是,有一种非正则
我有两个状态class =“icon”或class =“icon active”之一的元素.

我认为$browser.element(:class => /^icon$/).click会点击第一个未激活的按钮,但它只是点击它找到的第一个按钮,无论它是否还包含“活动” “.

正则表达式错了吗?或者更好的是,有一种非正则表达方式吗?

解决方法

正如评论中所提到的,你使用的正则表达式应该在watir-webdriver中工作.但是,如果您需要一个既适用于watir-classic又适用于watir-webdriver的解决方案,则需要使用find.

b.elements.find{ |e| e.class_name == 'icon'}.click

这只会匹配’class’属性正好是’icon’的元素.

它更慢,更不易阅读,但允许您绕过watir-classic的方法来匹配类.如下所示,watir-classic将检查正则表达式是否匹配任何元素的类.

def match_class? element,what
  classes = element.class_name.split(/s+/)
  classes.any? {|clazz| what.matches(clazz)}
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读