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

如何使用Watir和Ruby定位Twitter登录按钮?代码报错求助

解决Watir定位Twitter登录按钮的问题

先帮你梳理下问题里的几个关键错误,这就是导致找不到元素超时的核心原因:

1. 代码里的语法与拼写错误

你写的class数组存在两个明显问题:

  • 数组元素之间缺少逗号分隔,Ruby里数组元素必须用逗号隔开,否则会报错
  • 拼写错误:EdgeButtom--medium里的Buttom是笔误,HTML里的正确类名是EdgeButton--medium

2. 多余的定位条件

browser.button本身已经限定了目标是button元素,所以:tag_name=>"button"这个条件完全没必要加,属于冗余代码。

修正后的代码

直接用正确的class数组定位:

# Click Login Button
browser.button(class: ['submit', 'EdgeButton', 'EdgeButton--primary', 'EdgeButton--medium']).click

更简洁的定位方式

其实你还可以用更直观的方式定位,避免复杂的class组合:

  • 用按钮文本定位(最直观):
browser.button(text: 'Log in').click
  • 用type属性定位(因为这是submit类型按钮):
browser.button(type: 'submit').click

这些方式都能精准定位到登录按钮,避免因为class拼写或语法错误导致的定位失败。

内容的提问来源于stack exchange,提问作者Seio. E.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:34:01