私は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")
が問題の原因であると思われます。
別々のファイルで実行されると、2つはうまく動作します。
セレン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) OS:直接あなたの質問に対処していないためマックOSX 10.6.8 64ビット
私が知っている限り、Watirは、あなたが運転しているFirefoxプロファイルを設定して作成することはできません。セレンのwebdriverが必要とするものがあります。しかし、問題を考えて、感謝! – Kotsu