1

我已经在各种 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");')
4

1 回答 1

1

Chrome 是基于 webkit 的,并且可以与 Watir-Webdriver 一起使用。对用户来说更重要的是,在安全方面它不像铁丝网那样多孔。(这是 Safari 在过去 4 年中作为第一个在 pwn2own 下落的浏览器而保持完美记录的原因。)Chrome 的市场份额也(取决于你想相信的来源)是 Safari 的 2.5 到 6 倍。

如果您需要基于 webkit 的浏览器,为什么不使用 chrome?

我对安全方面也不是开玩笑,我碰巧认识的一位安全专家在一本关于如何进行安全测试的已出版教科书上说过“Safari 唯一的好用处是下载 Firefox 或 Chrome”

于 2011-06-19T00:59:05.163 回答