我正在尝试编写一个脚本,在进入网站时会自动点击按钮。
网站的HTML如下:
<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;">
我尝试过以下操作但它们不起作用:
browser.span(:id, "zolaDisclaimerButton").click
browser.button(:id, "zolaDisclaimerButton").click
如何点击这些类型的按钮?有问题的网址是: http://gis.nyc.gov/doitt/nycitymap/template?applicationName=ZOLA
编辑:这是我使用的代码:
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'(让我知道它已经完成)。没有例外。
答案 0 :(得分:1)
如果页面未及时加载,您可以添加等待 - 请参阅http://watirwebdriver.com/waiting/。这些等待方法将等待,直到满足条件或超过时间限制。它比使用sleep
更好,因为它只需要等待所需的时间(而不是等待1秒内加载的东西)。
在这种情况下,请在点击之前使用when_present
方法:
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"