2015-04-01 58 views
0

如何從另一個文件控制Watir-Webdriver的實例?例如,在 文件webdriver.rb我有從另一個文件中控制Watir-Webdriver的實例

require 'watir-webdriver' 
class Crawler 
    attr_accessor :browser 
    def initialize 
     self.browser = Watir::Browser.new 
    end 

    def goto_mypage 
     browser.goto("http://www.mypage.com") 
    end 

    def kill 
     browser.close 
    end 
    end 

a = Crawler.new 

現在我將如何訪問一個從文件「another_file.rb」與內容,如

a.goto("htttp://www.another_page.com") 
a.goto_mypage 

我試圖使需要' ./webdriver.rb'在another_file.rb中。並使模塊的Crawler類成爲其中的一部分。跨文件訪問方法不是問題 - 訪問webdriver實例是。

我試着在webdriver.rb中設置實例變量@a = a,然後從another_file.rb訪問@a。

我認爲這很簡單,但它讓我失望了。

回答

0

如果包含實際結果,您可能會獲得更多幫助。你是否得到一個無類錯誤?

在another_file.rb中有沒有一個原因是你不能有a = Crawler.new然後在那裏引用它?

+0

謝謝。是的,我得到一個無類錯誤 'NoMethodError - 未定義方法'goto'爲零:NilClass:' 當試圖控制from another_file.rb時 錯誤指的是,比方說,在webdriver中的方法goto_mypage。 RB。我不能在第二個文件中放入'a = Crawler.new',因爲a所做的大部分工作都是在webdriver.rb文件中定義的。它必須坐下來觀察網頁中的更改。非常偶爾 - 取決於another_file.rb中的代碼是否被調用 - 我需要檢出一個不同的頁面並返回到它正在監視的原始頁面。 – sarkon 2015-04-01 21:57:33

相關問題