我试图熟悉新的ruby selenium-webdriver,因为它看起来比以前版本的selenium和随之而来的ruby驱动程序更直观.另外,我无法让旧的selenium在windows中使用ruby 1.9.1,所以我想我会寻找替代方案.到目前为止,我已经用我的脚本完成了这个:
require "selenium-webdriver"
driver = Selenium::WebDriver.for :firefox
driver.get "https://example.com"
element = driver.find_element(:name, 'username')
element.send_keys "mwolfe"
element = driver.find_element(:name, 'password')
element.send_keys "mypass"
driver.find_element(:id, "sign-in-button").click
driver.find_element(:id,"menu-link-my_profile_professional_info").click
driver.find_element(:id,"add_education_btn").click
country_select = driver.find_element(:name, "address_country")
Run Code Online (Sandbox Code Playgroud)
所以基本上我正在登录我的网站,并尝试在我的用户配置文件中添加一个教育条目.我有一个带选项的选择框的引用(在country_select变量中),现在我想选择一个给定值的选项..我没有看到如何在新客户端中执行此操作.我唯一能想到的是循环遍历所有选项,直到找到我想要的那个,然后调用execute_script: http:// selenium. googlecode.com/svn/trunk/docs/api/rb/Selenium/WebDriver/Driver.html#execute_script-class_method 方法设置selectedIndex.
有没有其他方法可以做到这一点?在这里的java api for selenium 2.0/webdriver:http://seleniumhq.org/docs/09_webdriver.html 有一个这样做的例子
Select select = new Select(driver.findElement(By.xpath("//select")));
select.deselectAll();
select.selectByVisibleText("Edam");
Run Code Online (Sandbox Code Playgroud)
除非我遗漏了某些东西,否则ruby版本似乎没有这个功能.任何帮助,将不胜感激.
在Ruby中,Proc.new { 'waffles' }和之间有什么区别proc { 'waffles' }吗?我发现很少提到第二种语法.
从测试使用irb,我没有发现任何明显的差异.第一个是第二个语法糖吗?
我有params[:month,:day,:year],我需要将它们转换成DateTime我可以放在隐藏输入中的那个.
在Rails 3中执行此操作的最佳方法是什么?
每当我尝试在Ubuntu Server上安装Rails时,都会收到错误,File not found:lib.为什么是这样?
我在我的类中动态创建了一个实例变量:
class Mine
attr_accessor :some_var
def intialize
@some_var = true
end
def my_number num
self.instance_variable_set "@my_#{num}", num
end
end
Run Code Online (Sandbox Code Playgroud)
我@my_#{num}现在如何制作attr值?
例如,我希望能够这样做:
dude = Mine.new
dude.my_number 1
dude.my_1
=> 1
Run Code Online (Sandbox Code Playgroud) 我想通过它部署我的简单rails 4.0应用程序capistrano 3.0.
我使用bundler 1.3.5所以我添加capistrano-bundler gem来集成bundist与capistrano.
我有非常简单的配置(几乎默认):
set :bundle_gemfile, -> { release_path.join('Gemfile') }
set :bundle_dir, -> { shared_path.join('bundle') }
set :bundle_flags, ''
set :bundle_without, %w{test development}.join(' ')
set :bundle_binstubs, -> { shared_path.join('bin') }
set :bundle_roles, :all
Run Code Online (Sandbox Code Playgroud)
当我运行cap staging deploy --trace它失败时:
[50b524bc] Running /usr/bin/env bundle --gemfile /home/webmaster/www/api/releases/20131014144650/Gemfile --path /home/webmaster/www/api/shared/bundle --binstubs /home/webmaster/www/api/shared/bin --without test development on 125.51.3.1
DEBUG [50b144bc] Command: cd /home/webmaster/www/api/releases/20131014144650 && /usr/bin/env bundle --gemfile /home/webmaster/www/api/releases/20131014144650/Gemfile --path /home/webmaster/www/api/shared/bundle --binstubs /home/webmaster/www/api/shared/bin --without test …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用gem jquery-rails,但我的application.js文件无法找到必要的文件("找不到文件'jquery.ui.effect-blind'")
我的application.js:
//= require jquery
//= require jquery.ui.effect-blind
//= require jquery_ujs
//= require turbolinks
//= require_tree .
Run Code Online (Sandbox Code Playgroud)
在我的gemfile中,我有:
gem 'jquery-rails', "2.3.0"
gem 'jquery-ui-rails'
Run Code Online (Sandbox Code Playgroud)
我之前已经看过几次这个问题并且大多数人都报告说它是通过使用2.3.0版本的'jquery-rails'来修复的.我已经指定它并使用gem list命令确认它,但是application.js文件仍然无法找到它.我已经尝试过jquery.ui和jquery.ui.all,但这些都给出了同样的错误.
如果某个属性是正确的,如何遍历一个对象数组并返回整个对象?
我的rails应用程序中有以下内容
array_of_objects.each { |favor| favor.completed == false }
array_of_objects.each { |favor| favor.completed }
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,这两个返回相同的结果!我试图取代each有collect,map,keep_if以及!favor.completed,而不是favor.completed == false和他们没有工作!
任何帮助都非常感谢!
我正在读这个.使用它有什么好处:
user&.address&.state
Run Code Online (Sandbox Code Playgroud)
过度
user.try(:address).try(:state)
Run Code Online (Sandbox Code Playgroud)
我还是不明白.
我想为find_by功能创建一堆方法.我不想一遍又一遍地写同样的东西所以我想使用元编程.
假设我想创建一个按名称查找的方法,接受名称作为参数.我该怎么办?我以前使用过define_method但是我没有任何关于该方法的参数.这是我的(坏)方法
["name", "brand"].each do |attribute|
define_method("self.find_by_#{attribute}") do |attr_|
all.each do |prod|
return prod if prod.attr_ == attr_
end
end
end
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?提前致谢.
ruby ×10
arrays ×1
attr ×1
bundler ×1
capistrano ×1
deployment ×1
javascript ×1
jquery ×1
jquery-ui ×1
proc-object ×1
select ×1
syntax ×1
ubuntu ×1