我有模型自动化,其中有列:数据类型:文本,系列化作为哈希。如何发送多种方法如串红宝石
考虑到与散纪录
{
1=>"goto 'seznam.cz'",
2=>"text_field(placeholder: 'jméno').set '[email protected]'",
3=>"text_field(placeholder: 'heslo').set 'Pass123'",
4=>"button(xpath: //form[@class='login-form']//button[.='Přejít do Emailu']).click"
}
而且我反对浏览器 throught硒的webdriver &我要调用这些散列为序列的方法,是这样的:
automation = Automation.find(params[:automation_id])
automation.data.keys.each do |key|
browser.send(automation.data[key])
end
但它不”工作因为我试图发送multiplte方法名称作为一个。 首先可以解决为browser.send(:goto,'seznam.cz'),但它并没有帮助我在更大的规模,有没有什么办法解决它,而不尝试创建一些不可能的解析器(for我至少)。
这些方法可以作为
browser.text_field(placeholder: 'jméno').set '[email protected]'
当然
,但我想以某种方式从散列循环内使自动化它。
任何想法将不胜感激,谢谢!
有明显遗漏了很多的代码因为这似乎需要某种解析才能正常工作。它也看起来像你正在执行可能非常危险的任意代码。 – tadman
你可以使用'eval',但同样,不执行由陌生人 –
提供的代码串的那些只是手动添加到数据库,这样我就可以存储进度,所以这是我的代码,我只是没有找到更好的办法如何存储分步代码。 @maxple EVAL似乎工作,因此,它是好的,如果那是我的代码或是否有更好的方式来做到这一点?不管怎样,谢谢:) –