- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我第一次玩 watir,使用 this site作为指导。我在一个简单的程序(如下)中遇到错误 - 它在第一个非要求行失败,如图所示。
如果我没有运行下面显示的内容,而是删除了该行,它会打开一个空的 Firefox 浏览器,但不会按照任何其他说明进行操作。它永远不会完成,当我中止它时,我得到一个不同的错误。
我会很感激关于如何进行的建议,并且会响应有关更多信息的请求。我在 64 位 Mac 上。谢谢!
简单的程序
require 'rubygems'
require 'watir'
Watir::Browser.default = 'firefox'
browser = Watir::Browser.new
browser.goto("http://www.weather.com")
sleep 5
browser.close
尝试运行程序
matt$ ruby watir_weather.rb
/Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/watir-4.0.2/lib/watir/loader.rb:64: stack level too deep (SystemStackError)
在 IRB 中尝试
matt$ irb
1.9.3-p385 :001 > require 'watir'
=> true
1.9.3-p385 :002 > Watir::Browser.default = 'firefox'
SystemStackError: stack level too deep
from /Users/matt/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/irb/workspace.rb:80
Maybe IRB bug!
1.9.3-p385 :003 > exit
备用程序
require 'rubygems'
require 'watir'
#Watir::Browser.default = 'firefox'
browser = Watir::Browser.new
browser.goto("http://www.weather.com")
sleep 5
browser.close
替代错误
matt$ ruby watir_weather.rb
^C/Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/selenium-webdriver-2.29.0/lib/selenium/webdriver/common/socket_poller.rb:95:in `sleep': Interrupt
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/selenium-webdriver-2.29.0/lib/selenium/webdriver/common/socket_poller.rb:95:in `wait'
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/selenium-webdriver-2.29.0/lib/selenium/webdriver/common/socket_poller.rb:88:in `with_timeout'
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/selenium-webdriver-2.29.0/lib/selenium/webdriver/common/socket_poller.rb:23:in `connected?'
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/selenium-webdriver-2.29.0/lib/selenium/webdriver/firefox/launcher.rb:77:in `connect_until_stable'
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/selenium-webdriver-2.29.0/lib/selenium/webdriver/firefox/launcher.rb:37:in `block in launch'
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/selenium-webdriver-2.29.0/lib/selenium/webdriver/firefox/socket_lock.rb:20:in `locked'
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/selenium-webdriver-2.29.0/lib/selenium/webdriver/firefox/launcher.rb:32:in `launch'
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/selenium-webdriver-2.29.0/lib/selenium/webdriver/firefox/bridge.rb:20:in `initialize'
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/selenium-webdriver-2.29.0/lib/selenium/webdriver/common/driver.rb:31:in `new'
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/selenium-webdriver-2.29.0/lib/selenium/webdriver/common/driver.rb:31:in `for'
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/selenium-webdriver-2.29.0/lib/selenium/webdriver.rb:67:in `for'
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/watir-webdriver-0.6.4/lib/watir-webdriver/browser.rb:46:in `initialize'
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/watir-4.0.2/lib/watir/loader.rb:16:in `new'
from /Users/matt/.rvm/gems/ruby-1.9.3-p385/gems/watir-4.0.2/lib/watir/loader.rb:16:in `new'
from watir_weather.rb:5:in `<main>'
Gems(好像其他人有 ffi 依赖问题)
matt$ gem list
*** LOCAL GEMS ***
actionmailer (3.2.13, 3.2.11)
actionpack (3.2.13, 3.2.11)
activemodel (3.2.13, 3.2.11)
activerecord (3.2.13, 3.2.11)
activeresource (3.2.13, 3.2.11)
activesupport (3.2.13, 3.2.11)
addressable (2.3.2)
annotate (2.5.0)
arel (3.0.2)
bcrypt-ruby (3.0.1)
bigdecimal (1.1.0)
bloggy (0.2.1)
bootstrap-sass (2.1.0.0)
bootstrap-sass-rails (2.2.2.0)
bourne (1.1.2)
builder (3.0.4)
bundler (1.2.3)
capybara (1.1.2)
childprocess (0.3.8, 0.3.7)
classifier (1.3.3)
cocaine (0.4.2)
coderay (1.0.8)
coffee-rails (3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.6.1, 1.4.0)
colorator (0.1)
commander (4.1.3)
commonwatir (4.0.0)
devise (2.2.3)
diff-lcs (1.1.3)
directory_watcher (1.4.1)
domain_name (0.5.11)
erubis (2.7.0)
excon (0.16.10)
execjs (1.4.0)
factory_girl (4.1.0)
factory_girl_rails (4.1.0)
faker (1.0.1)
fast-stemmer (1.0.2)
ffi (1.3.1)
heroku (2.35.0)
heroku-api (0.3.7)
highline (1.6.18)
hike (1.2.1)
i18n (0.6.4, 0.6.1)
io-console (0.3)
jekyll (1.0.0)
journey (1.0.4)
jquery-rails (2.2.1, 2.0.2)
json (1.7.7, 1.7.6, 1.5.4)
jwt (0.1.5)
kramdown (0.14.2)
launchy (2.2.0)
liquid (2.5.0)
magic_encoding (0.0.2)
mail (2.5.3, 2.4.4)
maruku (0.6.1)
mechanize (2.6.0)
metaclass (0.0.1)
method_source (0.8.1)
mime-types (1.21, 1.20.1)
minitest (2.5.1)
mocha (0.10.5)
multi_json (1.6.1, 1.5.0)
net-http-digest_auth (1.3)
net-http-persistent (2.8)
netrc (0.7.7)
newrelic_rpm (3.5.8.72)
nokogiri (1.5.9, 1.5.6)
ntlm-http (0.1.1)
orm_adapter (0.4.0)
paperclip (3.4.0)
pg (0.14.1, 0.12.2)
polyglot (0.3.3)
posix-spawn (0.3.6)
pry (0.9.11.4)
pry-rails (0.2.2)
pygments.rb (0.4.2)
rack (1.4.5)
rack-cache (1.2)
rack-contrib (1.1.0)
rack-ssl (1.3.3)
rack-test (0.6.2)
rails (3.2.11)
railties (3.2.13, 3.2.11)
rake (10.0.3, 0.9.2.2)
rdiscount (2.0.7.2)
rdoc (3.12.2, 3.12.1, 3.9.5)
rest-client (1.6.7)
rspec-core (2.12.2)
rspec-expectations (2.12.1)
rspec-mocks (2.12.2)
rspec-rails (2.12.2)
rubygems-bundler (1.1.0)
rubyzip (0.9.9)
rvm (1.11.3.6)
s3_swf_upload (0.3.2)
safe_yaml (0.7.1)
sass (3.2.7, 3.2.5)
sass-rails (3.2.6)
selenium-webdriver (2.29.0)
shoulda-matchers (1.4.2)
slop (3.4.3)
sprockets (2.2.2)
sqlite3 (1.3.7, 1.3.5)
syntax (1.0.0)
thor (0.17.0)
tilt (1.3.5, 1.3.3)
treetop (1.4.12)
twilio-ruby (3.9.0)
tzinfo (0.3.37, 0.3.35)
uglifier (1.3.0)
unf (0.1.1)
unf_ext (0.0.6)
warden (1.2.1)
watir (4.0.2)
watir-webdriver (0.6.4)
webrick (1.3.1)
webrobots (0.1.1)
websocket (1.0.7)
xpath (0.1.4)
yajl-ruby (1.1.0)
最佳答案
据我所知 loader code ,没有 Watir::Browser.default=
方法,所以我猜是什么导致了问题。
您应该将其传递给浏览器构造函数,而不是设置默认浏览器。
Watir::Browser.new :firefox
关于你的套接字错误,这是 selenium-webdriver 的一些问题(在你的情况下它支持 watir)并且需要更多调查(也许是另一个问题)。
关于ruby - Watir Browser.default 和 Browser.new 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16503937/
在 Firefox 扩展的 Javascript 中,您可以调用 gBrowser.getBrowserForTab但是没有gBrowser.getTabForBrowser .所以我写了自己的并且它
在问这个可能含糊不清的问题之前,我搜索了 SO,发现许多对“现代浏览器”的引用,但没有定义。由于这是一个被广泛使用和引用的术语,令我惊讶的是我在 Internet 上找不到定义甚至描述。 那么,在 2
更新:老问题仅适用于 IE11 预览版;浏览器模式在 IE11 最终版本中回归。但有一个问题:它几乎没有用,因为它不模拟条件注释。例如,如果您使用它们在旧版 IE 中启用 HTML5 支持,您将无法再
我的移动页面和短信有问题:链接。该页面主要由基于 Android 和 iOS 的智能手机通过 QR 扫描应用程序访问。 特别是在 iPhone 上,有一些带有集成浏览器的 QR 应用程序(webkit
我想使用 CustomTabsIntent。但是我没有找到androidx的customTabs路径和版本。 最后我得到了这个:androidx.browser:browser:1.0.0 我想知道正
我想将来自不同域(支付提供商)的 ssl 安全页面加载到 iframe 中。据我所知,一些(或全部?)浏览器会在页面的某些部分受到保护而其他部分不安全时警告用户。 这是真的吗? 如果是这样,如果主站点
在 Protractor 中,有 browser.pause() function : Beta (unstable) pause function for debugging webdriver t
我可以使用以下方法检索浏览器日志 browser.manage().logs().get('browser').then(function(browserLog) { logger.info('
当使用 protractor 时,全局变量 browser 似乎具有 browser.driver 的所有功能。 我特地问这个是因为我不确定是使用 browser.wait 还是 browser.dr
面对 Protractor 的计时问题。有时我的 Protractor 测试用例会因网络或性能问题而失败。我已经解决了 browser.sleep() 的现有问题。后来知道了browser.wait(
我仍然无法找到解决此问题的方法。我们有一个启动浏览器窗口的应用程序,但我们使用的底层第三方插件尚不支持 IE9。我知道我可以通过点击 F12 并选择它来切换到 IE8 的浏览器模式。 有没有办法在命令
在 Protractor 脚本中,我总是遇到超时问题,即使我设置了很大的 time out jasmine interval、allscripttimeout...在某些地方,我不得不等到元素出现,比
我正在运行一个 Angular 应用程序,并且在 Protractor 上测试时尝试获取当前 URL。使用哪一个? browser.driver.getCurrentUrl() 或 browser.g
“所有浏览器兼容”和“跨浏览器兼容”有什么区别? “交叉”是什么意思,是指不同的操作系统吗? 如果任何网站在 IE 7、8 FF 3+、Safari 3+ 的桌面版本上运行良好,我们可以说它是跨浏
不明白浏览器同步中的错误阅读文档,其中 gulp 4 真的没有写任何关于它的内容。在 gulp 4 的文档中也没有理解(异步)。如何解决这个问题。谢谢。 bla bla bla bla bla bla
我正在尝试在 ASP.Net C# 代码隐藏中执行“如果浏览器是 IE 且版本低于 9”。 但是,在 chrome 中,以下行: if (Request.Browser.Browser == "IE"
我第一次玩 watir,使用 this site作为指导。我在一个简单的程序(如下)中遇到错误 - 它在第一个非要求行失败,如图所示。 如果我没有运行下面显示的内容,而是删除了该行,它会打开一个空的
下面的 if 条件我认为它是说 - 如果浏览器是 IE 并且 IE 浏览器版本高于 9,但我没有 IE 9 来测试它,所以很难知道正确的输出,这也是不是 100% 的我想要的 bcos 默认情况下该脚
我通过 Pingdom 测试了我的网站并得到了这个: 我进行了搜索,但找不到解决方案。有谁知道我怎样才能得到这个14到100? 最佳答案 不是一个完整的解决方案,但您可以通过将两个请求合并为一个来改善
是否可以禁用浏览器/窗口之间的 HTML5 拖放功能? 我正在使用具有 native HTML5 拖放功能的 Angular2 应用程序,并希望防止用户将其拖动到浏览器窗口之外并防止将可拖动对象拖放到
我是一名优秀的程序员,十分优秀!