我已经在各种 Watir 中看到并尝试了许多 js eval 的咒语。用于 ffox 的 firewatir,以及 safariwatir。在 Firefox 中,我可以正常工作,但需要 Safari,因为我的项目是基于 webkit 的。例如,在 Firefox 版本中,我可以执行以下操作:
@browser.document.parentWindow.eval('window.resizeTo(800,600)')
无论如何,我的问题是否有任何等效于 js_eval、execute_script 或从 Watir::Safari 对象访问文档和/或窗口对象的方法?我想做一些事情,比如清除本地存储等。
编辑:
继续使用 watir-webdriver
require "rubygems"
require "watir-webdriver"
#browser = Watir::Browser.new :ie
#browser = Watir::Browser.new :firefox
@browser = Watir::Browser.new :chrome
@browser.goto "http://google.com"
@browser.text_field(:name, 'q').set "watir-webdriver"
@browser.button(:name, 'btnG').click
@browser.div(:id => "resultStats").wait_until_present
puts "Displaying page: '#{@browser.title}' with results: '#{@browser.div(:id => "resultStats").text}'"
@browser.execute_script('alert("hi");')