使用Ruby自动化脚本打开Firefox浏览器

时间:2009-01-12 12:51:41

标签: ruby firefox automation

如何通过Ruby打开FireFox浏览器(用于自动化脚本)? 我使用@browser = RSpecSeleniumHelper.connect_browser('/ admin /','* firefox'),但它不起作用。

4 个答案:

答案 0 :(得分:4)

您可以使用以下命令启动ruby中的任何程序:

`firefox http://www.google.com`
or
system("firefox http://www.google.com")

答案 1 :(得分:1)

您可以使用Watir,因为它也支持Firefox: http://wtr.rubyforge.org/platforms.html

答案 2 :(得分:0)

您可能必须检查Selenium Remote Control是否启动,通常是在4444端口运行。

java -jar selenium-server-xxx.jar

然后你可以使用

@browser = Selenium::Client::Driver.new(
    :host => "localhost",
    :port => 4444,
    :browser => "*firefox", #*iexplore, *firefox3, *safari...
    :url => "http://www.google.com/",
    :timeout_in_second => 60)
@browser.start_new_browser_session

希望这会有所帮助,您可以通过下载Selenium RC

找到更多演示

答案 3 :(得分:0)

我在运行时遇到了两个问题:

  1. 如果您正在从MacOS运行Ruby应用程序,默认情况下命令firefox可能没有正确别名,因此可能会失败而不会在Ruby控制台上打印错误。

  2. 如果您已经打开了一个Firefox实例,您将收到一条消息“关闭Firefox - Firefox的副本已经打开。一次只能打开一个Firefox版本。”

  3. 此代码修复了这两个问题:

    system("open -a /Applications/Firefox.app/Contents/MacOS/firefox-bin http://www.google.com http://www.cpap.com")
    
    1. open's -a选项使用指定的应用程序打开。
    2. 文件路径列表适合我。如果它不会为你加载,首先删除它并尝试普通的“firefox”并尝试“/Applications/Firefox.app/Contents/MacOS/firefox”
    3. 上面的示例显示了两个以空格分隔的网址。您只能使用一个URL或尽可能多地使用此模式。