我正在尝试自动化and抓取,同时使用selenium-webdriver和AppleScript rb-appscript的ruby端口。但是,当我试图运行代码时,我始终会遇到分段错误。
代码:
require 'rubygems'
require 'appscript'; include Appscript
require 'selenium-webdriver'
# Open instance of Firefox
driver = Selenium::WebDriver.for(:firefox, :profile => "default")
# Open my webscraping extension
app('Firefox').activate
app("System Events").processes["firefox-bin"].menu_bars[1].menu_bar_items["Tool\
s"].menus["Tools"].menu_items["******"].click
driver.navigate.to "http://google.com"
driver.quit这一行:
driver = Selenium::WebDriver.for(:firefox, :profile => "default")似乎是引起问题的原因。
当在单独的文件中执行时,这两个文件可以正常工作。
selenium-webdriver:
require 'rubygems'
require 'selenium-webdriver'
driver = Selenium::WebDriver.for(:firefox, :profile => "default")
driver.navigate.to "http://google.com"
driver.quitrb-appscript:
require 'rubygems'
require 'rb-appscript'; include Appscript
app('Firefox').activate
app("System Events").processes["firefox-bin"].menu_bars[1].menu_bar_items["Tool\
s"].menus["Tools"].menu_items["******"].click知道问题是什么吗?我是红宝石公司的新手,所以我不太清楚是什么引起了这个问题。
Ruby版本: 1.8.7 (2011-06-30修补程序level352)操作系统:MacOSX10.6.8 64位
发布于 2011-07-26 16:28:10
看起来是红宝石的版本引起了这个问题。1.8.7是1.8至1.9之间的桥梁,显然不建议使用。有大量的报道说红宝石1.8.7在使用多种不同的宝石时会造成分割错误。升级到最新版本(1.9.2)修复了这个问题!
发布于 2011-07-25 05:14:18
很抱歉没有直接回答您的问题,但作为解决办法,您可以查看Watir:http://watir.com/。我正在MacOSX10.6.8上成功地将它与Firefox一起使用。与…有关的东西:
require "rubygems"
require "watir-webdriver"
b = Watir::Browser.new :firefox
b.goto("http://google.com")https://stackoverflow.com/questions/6793301
复制相似问题