2011-07-22 51 views
0

我試圖自動化webscraping,同時使用selenium-webdriver和AppleScript的紅寶石端口rb-appscript。但是,當我嘗試運行代碼時,我一直遇到分段錯誤。分段錯誤問題(selenium-webdriver + rb-appscript)

代碼:

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") 

似乎導致的問題。

當在單獨的文件中執行時,兩者工作正常。

硒的webdriver:

require 'rubygems' 
require 'selenium-webdriver' 

driver = Selenium::WebDriver.for(:firefox, :profile => "default") 
driver.navigate.to "http://google.com" 
driver.quit 

RB-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) 操作系統:Mac OSX 10.6.8 64位

回答

0

看起來像紅寶石的版本引起的問題。 1.8.7是1.8和1.9之間的橋樑,不建議明顯使用。有很多關於使用多種不同寶石的紅寶石1.8.7導致分段錯誤的報道。升級到最新版本(1.9.2)解決了問題!

0

道歉不直接解決你的問題,但作爲一種解決方法你可以檢查出Watir:http://watir.com/。我在Mac OSX 10.6.8上使用Firefox成功使用它。一些沿線:

+0

據我所知,Watir不會讓你設置和創建你正在駕駛的Firefox配置文件,我需要的是selenium-webdriver允許你做的事情。想通了問題,謝謝! – Kotsu