如何使用 Watir 和 Ruby 定位 Twitter 登录按钮?
How to locate twitter login button using Watir and Ruby?
我正在尝试使用名为 Watir 的 gem 来定位 Twitter 登录按钮。
这是按钮标记:
<button type="submit" class="submit EdgeButton EdgeButton--primary EdgeButtom--medium">Log in</button>
这是我的代码:
# Click Login Button
browser.button(:class => ['submit' 'EdgeButton' 'EdgeButton--primary' 'EdgeButtom--medium'],:tag_name=>"button").click
我收到此错误:
Watir::Exception::UnknownObjectException: timed out after 30 seconds, > waiting for Watir::Button: located: false; > {:class=>["submitEdgeButtonEdgeButton--primaryEdgeButtom--medium"], > :tag_name=>"button"}> to be located; Maybe look in an iframe?> > C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/watir-6.10.3/lib/watir/elements/element.rb:664:in > rescue in element_call' > C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/watir-6.10.3/lib/watir/elements/element.rb:680:in >
element_call' > C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/watir-6.10.3/lib/watir/elements/element.rb:125:in > click' C:/Users/bnbih/Desktop/ig_bot/auto_follow_tw.rb:34:in
start' > C:/Users/bnbih/Desktop/ig_bot/auto_follow_tw.rb:77:in <top > (required)>' > C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ocra-1.3.10/bin/ocra:1211:in >
load' > C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ocra-1.3.10/bin/ocra:1211:in > <top (required)>' C:/Ruby24-x64/bin/ocra:23:in
load' > C:/Ruby24-x64/bin/ocra:23:in `'
可以使用文本定位,编写如下代码,
browser.button(text: 'Log in').click
如果您仍想使用 class 定位器,那么
b.button(class: 'submit EdgeButton EdgeButton--primary EdgeButtom--medium').click
数组中有 类,但字符串之间没有逗号分隔。除非您有逗号,否则代码会将其视为一个包含一个长字符串的数组。
b.button(class: ['submit', 'EdgeButton', 'EdgeButton--primary', 'EdgeButtom--medium']).click
我正在尝试使用名为 Watir 的 gem 来定位 Twitter 登录按钮。
这是按钮标记:
<button type="submit" class="submit EdgeButton EdgeButton--primary EdgeButtom--medium">Log in</button>
这是我的代码:
# Click Login Button
browser.button(:class => ['submit' 'EdgeButton' 'EdgeButton--primary' 'EdgeButtom--medium'],:tag_name=>"button").click
我收到此错误:
Watir::Exception::UnknownObjectException: timed out after 30 seconds, > waiting for Watir::Button: located: false; > {:class=>["submitEdgeButtonEdgeButton--primaryEdgeButtom--medium"], > :tag_name=>"button"}> to be located; Maybe look in an iframe?> > C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/watir-6.10.3/lib/watir/elements/element.rb:664:in >
rescue in element_call' > C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/watir-6.10.3/lib/watir/elements/element.rb:680:in >
element_call' > C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/watir-6.10.3/lib/watir/elements/element.rb:125:in >click' C:/Users/bnbih/Desktop/ig_bot/auto_follow_tw.rb:34:in
start' > C:/Users/bnbih/Desktop/ig_bot/auto_follow_tw.rb:77:in<top > (required)>' > C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ocra-1.3.10/bin/ocra:1211:in >
load' > C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ocra-1.3.10/bin/ocra:1211:in ><top (required)>' C:/Ruby24-x64/bin/ocra:23:in
load' > C:/Ruby24-x64/bin/ocra:23:in `'
可以使用文本定位,编写如下代码,
browser.button(text: 'Log in').click
如果您仍想使用 class 定位器,那么
b.button(class: 'submit EdgeButton EdgeButton--primary EdgeButtom--medium').click
数组中有 类,但字符串之间没有逗号分隔。除非您有逗号,否则代码会将其视为一个包含一个长字符串的数组。
b.button(class: ['submit', 'EdgeButton', 'EdgeButton--primary', 'EdgeButtom--medium']).click