首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby/Watir:用role=“按钮”单击元素

Ruby/Watir:用role=“按钮”单击元素
EN

Stack Overflow用户
提问于 2013-07-29 20:25:52
回答 1查看 1.8K关注 0票数 0

我试图写一个脚本,将自动单击按钮时,进入一个网站。

该网站的HTML如下:

代码语言:javascript
复制
<span id="zolaDisclaimerButton" class="dijitReset dijitStretch dijitButtonContents" waistate="labelledby-zolaDisclaimerButton_label" wairole="button" dojoattachpoint="titleNode,focusNode" role="button" aria-labelledby="zolaDisclaimerButton_label" tabindex="0" title="I acknowledge this disclaimer... Let ZoLa begin!" style="-moz-user-select: none;">

我试过以下几种方法,但它们不起作用:

代码语言:javascript
复制
browser.span(:id, "zolaDisclaimerButton").click
browser.button(:id, "zolaDisclaimerButton").click

如何单击这些类型的按钮?所讨论的网址是:http://gis.nyc.gov/doitt/nycitymap/template?applicationName=ZOLA

编辑:这是我使用的代码:

代码语言:javascript
复制
require "watir"
browser = Watir::Browser.new
browser.goto "http://gis.nyc.gov/doitt/nycitymap/template?applicationName=ZOLA"
browser.span(:id, "zolaDisclaimerButton").click
puts "fin"

它导航到页面,不点击任何东西,然后打印'fin‘(让我知道它已经完成了)。不抛出任何例外。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-30 16:00:57

如果页面没有及时加载,您可以添加等待-请参阅http://watirwebdriver.com/waiting/。这些等待方法将等待,直到满足条件或超过时间限制。它比使用sleep更好,因为它只等待需要的时间(而不是等待2秒,等待在1秒内加载的东西)。

在本例中,在单击span之前,在span上使用when_present方法:

代码语言:javascript
复制
require "watir"
browser = Watir::Browser.new
browser.goto "http://gis.nyc.gov/doitt/nycitymap/template?applicationName=ZOLA"
browser.span(:id, "zolaDisclaimerButton").when_present.click
puts "fin"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17933530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档