我在各式各样的Watir中看过并尝试过很多js eval的咒语。firewatir for ffox,以及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");')发布于 2011-06-19 08:59:05
Chrome是基于webkit的,可以与Watir-Webdriver协同工作。对用户来说更重要的是,它的安全性并不像chickenwire那样漏洞百出。(在过去的四年里,Safari作为第一个落入pwn2own的浏览器,有着无可挑剔的记录,这是有原因的。)Chrome的市场份额也是Safari的2.5到6倍(取决于你愿意相信的消息来源)。
如果你需要一个基于webkit的浏览器,为什么不使用chrome呢?
我在安全方面也不是开玩笑,我碰巧认识一位安全专家,他出版了一本关于如何进行安全测试的教科书,他说:“Safari唯一的好用就是下载Firefox或Chrome。”
https://stackoverflow.com/questions/6399744
复制相似问题